## 1.1 Purpose

The software provides a System Administration Module for an enterprise-level Integrated Library System (ILS) that centralizes and enhances management of the ILS. Its purpose is to:
- Configure ILS features and processes required to manage library branches, patrons, collections, and circulation transactions.
- Monitor, troubleshoot, and control servers, databases, applications, services, ports, and APIs.
- Manage user and group accounts and privileges.
- Manage server and client software installation, upgrades, and updates.
- Perform backups of databases, configuration files, and log files.

Developed for the King County Library System, the module is intended to replace and extend the administrative capabilities of commercially available ILSes, presupposing the data structures and functionality of a full-fledged ILS and supporting large, multi-branch, centralized library systems.

## 1.2 Scope

This SRS specifies the System Administration Module of an Integrated Library System (ILS) for the King County Library System (KCLS), suitable for large, urban, multiple-branch, centralized library systems.

The product to be produced
- System Administration Module for an ILS.

What the product will do
- Configure ILS features and processes supporting management of branches, patrons, collections, and circulation.
- Monitor, troubleshoot, and control server, database, and application performance.
- Monitor, troubleshoot, and control services, interfaces, ports, and published APIs.
- Manage user and group accounts, roles, and privileges.
- Manage server and client software installation, upgrades, and updates.
- Provide access to and management of configuration and log files.
- Support data protection activities including backups and related recovery capabilities.
- Provide administrative dashboards and consoles for system monitoring, job scheduling, and operational oversight.
- Support creation and management of business rules (e.g., visibility/suppression, requesting/holds, loan rules) and data validation parameters.
- Provide administrative tools for queries and reports, printer and output options, and client management.

Application, benefits, objectives, and goals
- Application: Enterprise-level system administration for a centralized ILS operating across approximately 50 locations and high transaction volumes (e.g., ~20 million circulations annually).
- Benefits: Centralized control and visibility over ILS operations; improved reliability and responsiveness through monitoring, alerting, and configurable thresholds; streamlined configuration and maintenance; secure handling of patron data and administrative operations; support for live, minimally disruptive operations during open hours.
- Objectives and goals: Replace and enhance the system administration capabilities found in commercially available ILS solutions; add new functionality to support large-scale, multi-branch operations; enable fine-grained access control; support real-time administrative awareness through dashboards and alerts; provide tools that allow administrators to manage and audit changes efficiently.

Scope boundaries and consistency
- The module presupposes the general data structures and functionality of a full-fledged ILS and specifies requirements directly or indirectly related to system administration activities.
- It operates as part of an enterprise Library Automation System, interacting with Acquisitions, Cataloging, and the patron-facing OPAC, and interfacing with vendor systems via standard formats and published APIs.
- Detailed data structures and user interface designs are outside this scope and will be further specified through iterative, prototype-oriented development.

### 1.3.1 Product perspective

The System Administration Module is a subsystem of an enterprise-level Integrated Library System (ILS) used by a large, multi-branch public library. It presupposes the data structures and general functionality of a full-fledged ILS and manages configuration, monitoring, performance, security, user and group accounts, software installation and updates, backups, and related administration for the ILS environment.

It operates alongside and supports other ILS modules (e.g., Acquisitions and Serials Management, Circulation, Cataloging) and interacts with the patron interface (OPAC). It also interfaces with vendor websites and services via published APIs and standardized data exchanges.

Conceptual placement within the larger system:
- Core ILS data and applications (including Acquisitions, Cataloging, Circulation, OPAC)
- System Administration Module (configuration, monitoring, control, security, backups)
- Client workstations (browser-based or Windows-compatible clients)
- External services and protocols (e.g., vendor APIs, OCLC, SIP2/NCIP2, SMTP, SFTP/SSL/SSH, SNMP, ODBC)
- Infrastructure (Linux or Solaris servers; Windows printers; network services/ports)

#### System interfaces
- ILS core modules (Acquisitions, Cataloging, Circulation)
  - Functionality: Configure and enforce business rules; manage accounts, privileges, and operational parameters; monitor application performance.
  - Interface description: Internal to the enterprise ILS; relies on shared data structures and module interoperation. [N/A for detailed interface specifications]
- OPAC (patron interface)
  - Functionality: Apply visibility/suppression rules; ensure secure patron data handling.
  - Interface description: Interaction with the patron interface for visibility and requests. [N/A for detailed interface specifications]
- Vendor websites/services (e.g., OCLC; vendors using USMARC21, EDIFACT)
  - Functionality: Import/export bibliographic and authority records; exchange standard-format data files.
  - Interface description: Published APIs and/or automated transfer of standard-format files (USMARC21, EDIFACT). [N/A for detailed interface specifications]
- Self-check and related devices via SIP2/NCIP2 and similar protocols/APIs
  - Functionality: Concurrent access/update of patron and item records; real-time transactions.
  - Interface description: SIP2/NCIP2 and similar library protocols. [N/A for detailed interface specifications]
- System and network monitoring (SNMP)
  - Functionality: Monitor system resources, interfaces, and ports; generate configurable alerts (dashboards, email, text messages).
  - Interface description: SNMP-based monitoring. [N/A for detailed interface specifications]
- Backup systems (e.g., EMC NetWorker)
  - Functionality: Live incremental and full backups of data and transaction logs.
  - Interface description: Supports use of third-party backup software. [N/A for detailed interface specifications]
- Database access (SQL/ODBC)
  - Functionality: Run SQL queries; external access as an ODBC data source; full table accessibility.
  - Interface description: Relational SQL database; ODBC interface. [N/A for detailed interface specifications]

#### User interfaces
- Access modes: Web-browser access and Windows-compatible client.
- Supported browsers: Microsoft Internet Explorer (v6.0 and later), Mozilla Firefox (v2.0 and later).
- Accessibility: Operable with screen-reading and screen-magnification software and other assistive programs.
- Administrative consoles and dashboards: Server console (start/stop/restart), system performance dashboard, application dashboard, client management console, configuration file console, log-file dashboard, job scheduling console, circulation dashboard, custom dashboards.
- Documentation and help: Web-based, indexed, searchable documentation; online hierarchical, cross-linked HTML help.
- Printing and output: Define/select printer types (receipt, standard, label, forms); support all Windows printers; print to server file, ftp, email, or printer; export to CSV and Excel; customizable report layouts.
- Productivity: Administrator- and user-programmable macros/shortcuts centrally managed with permissions.

#### Hardware interfaces
- Servers: Linux or Solaris servers. [N/A for port counts or instruction sets]
- Clients: Windows-compatible client workstations; workstation identification (name, IP) in client management console.
- Printers: Support for receipt, standard, label, and forms printers; all Windows printers supported.
- Devices: Self check-out stations via SIP2/NCIP2 and similar protocols/APIs. [N/A for device-level electrical/mechanical characteristics]

#### Software interfaces
- Relational SQL Database
  - Name: [N/A]; Mnemonic: SQL RDBMS; Specification number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Primary data store for all ILS records; supports SQL and ODBC access.
  - Interface definition: SQL queries; ODBC data source. [N/A for external reference]
- Operating systems
  - Name: Linux or Solaris (server); Mnemonic: [N/A]; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Server runtime environment.
  - Interface definition: [N/A]
- Web browsers
  - Name: Microsoft Internet Explorer (>=6.0), Mozilla Firefox (>=2.0); Mnemonic: IE, Firefox; Spec number: [N/A]; Version: as listed; Source: [N/A]
  - Purpose: Web-based administrative access.
  - Interface definition: Standards-compliant HTML produced by the system. [N/A for additional reference]
- SNMP
  - Name: SNMP; Mnemonic: SNMP; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: System monitoring/alerts.
  - Interface definition: [N/A]
- SMTP
  - Name: Simple Mail Transfer Protocol; Mnemonic: SMTP; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Email transport for alerts and communications.
  - Interface definition: [N/A]
- Secure protocols
  - Name: SFTP (active/passive), SSL, SSH; Mnemonic: SFTP/SSL/SSH; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Secure file transfer and sessions; vendor-specific SFTP mode configuration.
  - Interface definition: [N/A]
- Library protocols
  - Name: SIP2, NCIP2; Mnemonic: SIP2/NCIP2; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Interoperation with self-check stations and similar systems.
  - Interface definition: [N/A]
- Data/record standards
  - Name: USMARC21 (MARC), EDIFACT; Mnemonic: [N/A]; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Bibliographic/authority data exchange; vendor transactions.
  - Interface definition: Standard file formats for import/export. [N/A for document references]
- Backup software
  - Name: EMC NetWorker; Mnemonic: [N/A]; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Third-party backup integration.
  - Interface definition: [N/A]
- Remote administration tools
  - Name: VNC, Remote Desktop; Mnemonic: [N/A]; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Client software management.
  - Interface definition: [N/A]
- ODBC
  - Name: Open Database Connectivity; Mnemonic: ODBC; Spec number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: External database access for reporting/queries.
  - Interface definition: [N/A]

#### Communications interfaces
- SNMP for monitoring system resources, interfaces, and ports; configurable alert thresholds; alerts via dashboards, email, and text messages.
- SMTP for email transport.
- SFTP (active and passive modes), SSL, SSH for secure transfers and sessions.
- SIP2/NCIP2 and similar protocols/APIs for interoperation with self-check and related systems.
- FTP and email as print/output transport targets where applicable.
- ODBC for data access by external tools.
- [N/A for local network protocol details]

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

#### Operations
- Modes and periods
  - Interactive: Real-time dashboards and consoles for performance monitoring, configuration, account management, and system control; concurrent record access with lock management and administrative override/unlock.
  - Unattended: Scheduled tasks (maintenance jobs, automated reports, imports/exports, software updates) with sequencing and administrative management; alerts dispatched automatically.
- Data processing support
  - Real-time processing for operational lists and activities; user-friendly query and reporting tools with templates and permissions.
- Backup and recovery
  - Live incremental and full backups of data and transaction logs; support for third-party backup software; logging of data changes with undo functionality (revision control desirable).
- Continuity and control
  - Server clustering for failover; server and software start/stop/restart utilities; access to configuration and log files without stopping the system; configurable log retention.
- Upgrades and environments
  - Written upgrade/update guidelines; development and training environments with migration of configurations to production.

#### Site adaptation requirements
- Site-specific configuration and initialization
  - Business rules: Creation/modification of loan rules, requesting rules, and suppression rules with site-defined criteria and override permissions.
  - Account templates and defaults: Configurable templates for staff and patron account creation; field validation and required fields; configurable defaults.
  - Security and access: Roles/privileges for modules, reports, and administrative functions; read/write permissions to configuration files.
  - Email settings: Quick menu for common settings (masquerading, log retention, bounce management).
  - Client configurations: Server-based client configuration files; export/import between clients; centrally managed client software installation/updates via network management tools.
  - Printing: Definition and selection of printer types (receipt, standard, label, forms).
  - Macros/shortcuts: Centrally managed, import/export, with usage/edit permissions.
  - Dashboards: Custom dashboards created by administrators and shared with selected users/groups.
  - Environments: Development/training environments with migration to production.

#### Interfaces with services
- Vendor websites/services via published APIs and automated transfers of standard-format files (e.g., USMARC21, EDIFACT).
- OCLC for MARC bibliographic and authority record import/export.
- Third-party backup services/software (e.g., EMC NetWorker).
- Email transport via SMTP for notifications and alerts.
- Remote client management via VNC and Remote Desktop.
- Self-check and related external systems via SIP2/NCIP2 and similar protocols.
- [N/A for cloud/SaaS specifics]

### 1.3.2 Product functions

The System Administration Module provides centralized configuration, operations control, security, maintenance, and reporting for an enterprise Integrated Library System. Major functions are organized as follows:

- Policy and configuration management
  - Define and maintain business rules (loan, requesting/holdability, and visibility/suppression).
  - Configure field-level defaults, validation, formatting, and required status.
  - Configure circulation and OPAC visibility rules by record type and audience.
  - Define and select printers and printing options (receipt, label, forms; print to file/FTP/email).

- User, role, and account administration
  - Create and manage staff and patron accounts using configurable templates.
  - Manage roles/privileges with fine-grained access to modules, data, reports, and consoles.
  - Support individual and shared staff logins with user-level preferences and auditability.

- System and application monitoring and control
  - Monitor servers and applications via SNMP with configurable thresholds and multi-channel alerts (dashboards, email, text).
  - Use dashboards and consoles for server/application status, performance, jobs, clients, and logs.
  - Identify, view, and manage processes; start/stop/restart software and servers.
  - Track and administer record locks, including viewing lock origin and unlocking records.
  - Create and share custom dashboards (e.g., circulation KPIs per branch or systemwide).

- Configuration, log, and service administration
  - Centralized consoles for accessing and editing configuration files and viewing/managing log files (enable/disable, retention).
  - Configure email settings and support SMTP for email transport.
  - Manage services, interfaces, and ports; provide secure protocol support (SFTP active/passive, SSL, SSH).
  - Provide root shell access where required for administration.

- Data protection, recovery, and availability
  - Perform live full and incremental backups of data and transaction logs; support third‑party backup tools.
  - Log data changes and provide undo/rollback; ideally support revision control.
  - Support server clustering for failover.

- Job scheduling and automation
  - Schedule and sequence maintenance tasks, reports, and data imports/exports; modify or cancel before start.
  - Provide a centralized job scheduling console and permissions for staff scheduling; allow admin oversight and control of all jobs.

- Client software and configuration management
  - Centrally manage client software installation and streaming updates; target specific clients.
  - Support remote client management (e.g., VNC/Remote Desktop) and server-based client configurations.
  - Keep staff/group accounts independent of specific workstations.

- Data import/export, batch operations, and tooling
  - Import/export MARC bibliographic and authority records (single/batch), with overlay of existing records and support for selection lists.
  - Create and manage record sets for batch updates, scoped queries, and controlled deletions with review, error logging, and undo.
  - Provide administrator- and user-programmable macros/keyboard shortcuts, centrally managed and permissioned.

- Database access, queries, and reporting
  - Operate on a fully relational SQL database; allow SQL queries and ODBC access with controlled visibility of tables/fields.
  - Provide a user-friendly query tool with picklists, regular expressions, and Boolean operators.
  - Offer report templates, fine-grained report permissions, and customizable report formats/output (display, print, email, CSV, Excel).
  - Report record statistics (current numbers, deleted/purged by type) with controlled access.
  - Support real-time processing for up-to-date operational views and lists.
  - Support concurrent field/record access with reasonable conflict handling and prompts.

- Help and documentation
  - Provide version-specific, web-based, indexed, and searchable system documentation and online help.

Representative scenarios:
- An administrator defines loan and requesting rules so that items with triggered holds cannot be checked out and on-order CDs cannot be requested by patrons, while allowing staff overrides where permitted.
- Operations staff monitors dashboards showing CPU/memory, queues, backups, and circulation KPIs; receives an alert and terminates a runaway process from the console.
- A systems librarian schedules a nightly full backup followed by a batch MARC import; reviews and manages scheduled jobs from a single console.
- A cataloging supervisor imports a MARC batch to overlay short records, builds a record set for cleanup, runs a batch update, and undoes a subset based on the log review.
- Helpdesk staff remotely update selected client workstations and apply a shared configuration, independent of workstation location.
- A reports analyst uses the query tool and a shared report template to produce a branch-level holds report and exports results to CSV.

### 1.3.3 User characteristics

The System Administration Module is intended primarily for internal library personnel. Patrons are not expected to be direct users of this module.

- System Administrators
  - Characteristics: Staff with responsibility for managing servers, databases, applications, services, ports, and APIs related to the ILS.
  - Technical expertise: Manage system monitoring, configuration files, log files, backups, client deployments, and secure protocols (as supported by the requirements).
  - Educational level: [N/A]
  - Disabilities/accessibility: The module shall be accessible with screen-reading and screen-magnification software and other assistive tools.

- Staff (librarians, library technicians, assistants, pages)
  - Characteristics: Staff involved in designing and providing Library services; may be granted permissions to run queries/reports and schedule jobs per role-based access.
  - Experience: Assumed understanding of Library services and processes.
  - Technical expertise: Varies by role; access is controlled via privileges/roles.
  - Educational level: [N/A]
  - Disabilities/accessibility: The module shall be accessible with assistive technologies.

- Managers
  - Characteristics: Management staff who oversee Library processes.
  - Experience: Assumed understanding of Library services and processes.
  - Technical expertise: Not specified; access governed by roles/privileges.
  - Educational level: [N/A]
  - Disabilities/accessibility: The module shall be accessible with assistive technologies.

- Library Managers (Cluster and Site Managers)
  - Characteristics: Provide input to the design and implementation of Library services.
  - Experience: Assumed understanding of Library services and processes.
  - Technical expertise: Not specified; access governed by roles/privileges.
  - Educational level: [N/A]
  - Disabilities/accessibility: The module shall be accessible with assistive technologies.

- Library Directors (Executive Team)
  - Characteristics: Plan and direct Library services and priorities.
  - Experience: Assumed understanding of Library services and processes.
  - Technical expertise: Not specified; access governed by roles/privileges.
  - Educational level: [N/A]
  - Disabilities/accessibility: The module shall be accessible with assistive technologies.

- Patrons
  - Characteristics: Customers of the Library, with or without a library card, on-site or remote, using print, media, or electronic resources.
  - Note: Not intended users of the System Administration Module; included here for context because their data and service rules are administered by this module.

Cross-cutting user characteristics influencing usability
- Educational level: [N/A]
- Experience: Staff and management are assumed to have a general understanding of Library services and processes.
- Technical expertise: Varies by role; controlled via security groups/roles with fine-grained privileges.
- Disabilities/accessibility: The module shall be accessible via screen-reading software, screen-magnification software, and other assistive technologies.

### 1.3.4 Limitations

The following items constrain the supplier’s options based on the original SRS:

- a) Regulatory requirements and policies:
  - Must produce standards-compliant HTML.
  - Must support standard library data formats when interfacing (e.g., USMARC21, EDIFACT).
- b) Hardware/platform limitations:
  - Server OS limited to Linux or Solaris; access via web browser or Windows-compatible client.
  - Browser support limited to Microsoft Internet Explorer v6.0+ and Mozilla Firefox v2.0+.
  - Output device support limited to Windows printers (receipt, standard, label, and forms printers).
- c) Interfaces to other applications:
  - Interfaces with vendor websites via published APIs and/or standard-format data files (USMARC21, EDIFACT).
  - Interacts with OPAC.
  - Supports SIP2/NCIP2 and similar protocols/APIs for self-check and other integrations.
  - Database must be fully relational and accessible via SQL and ODBC.
  - Supports SMTP for email transport; supports secure transfer/protection via SFTP, SSL, SSH (SFTP active/passive per vendor).
- d) Parallel operation:
  - Must support simultaneous access and update of patron and item records by multiple staff/patrons, with record lock awareness and administration (including thresholds and unlock).
- e) Audit functions:
  - Individual logins enable audit trails.
  - System provides full access to log files (enable/disable, retention thresholds) and a log-file dashboard.
  - Data changes (e.g., deletions) are logged with undo functionality; revision control is desired.
- f) Control functions:
  - Centralized privileges/roles for access control to modules, configuration files, and reports.
  - Server and application control via consoles/dashboards (startup/shutdown/restart, process management, SNMP monitoring with thresholds and alerts).
  - Job scheduling consoles for maintenance tasks, reports, imports/exports; admin can manage others’ jobs.
  - Business-rule engines for visibility (suppression), requesting (holds), and loan rules; staff override capabilities governed by roles.
  - Client session and configuration management; email configuration; record lock administration.
  - Root shell access required for administration.
- 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 live incremental and full backups (including use of third-party backup software).
  - Failover capability via server clustering.
  - Real-time processing for operational freshness (e.g., pull lists up to date at viewing/printing).
  - Searches/reports should run during open hours without disrupting other system functions.
  - System monitoring with configurable alerts (dashboards, email, text).
- j) Criticality of the application:
  - [N/A]
- k) Safety and security considerations:
  - Patron data must be secure in all transfers.
  - Supports secure protocols SFTP (active/passive), SSL, SSH.
  - Fine-grained user account privileges; administrative visibility and control of user privileges.
  - [Safety-specific constraints: N/A]
- l) Physical/mental considerations:
  - Must be accessible with screen-reading software, screen-magnification software, and other assistive technologies.
- m) Limitations sourced from other systems (including real-time requirements through interfaces):
  - The module is part of and relies on an enterprise-level ILS (including Acquisitions and Cataloging) and interacts with the OPAC.
  - System administration processes are centralized, serving multiple locations.
  - Real-time and concurrency expectations arise from integrations (e.g., SIP2/NCIP2 self-check and staff terminals requiring current record state).

## 1.4 Definitions

- Integrated Library System (ILS): The enterprise library automation system comprising multiple modules (e.g., Acquisitions, Cataloging, Circulation, OPAC) that manage library operations and data.

- System Administration Module: The administrative component of the ILS used to configure, monitor, secure, and maintain servers, databases, applications, services, accounts, jobs, and system-wide business rules.

- Patron: A customer of the library system, with or without a library card, accessing materials or services on-site or remotely.

- Staff: Library employees (e.g., managers, librarians, technicians, assistants, pages) who provide or support library services.

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

- Record: A structured data entity within the ILS. Record types include authority, bibliographic, order, item, hold/request, and patron records.

- Authority record: A record of controlled forms (e.g., names, subjects) used to validate and standardize bibliographic data.

- Bibliographic record: A record describing a title/work and its descriptive metadata.

- Item record: A record representing a specific copy or instance (physical or digital) linked to a bibliographic record.

- Order record: A record representing an acquisition order placed with a vendor.

- Hold/Request record: A record capturing a patron’s request to reserve or obtain an item or title.

- Record lock: A state indicating a record is in active use/editing, potentially restricting concurrent updates. Includes the ability to identify locking user/location/time and to unlock when appropriate.

- Rules of Suppression: Configurable rules that determine visibility of records (authority, bibliographic, order, item) in staff and public (OPAC) interfaces, potentially limited by workgroup or location.

- Requesting rules: Configurable criteria that determine whether a patron can place a hold on an item/title (e.g., based on patron type, account status, item type/status, owning location) and whether staff overrides are permitted.

- Loan rules: Configurable criteria governing checkout permissions, loan periods, due dates (respecting open/closed schedules), renewal limits, and staff override permissions.

- Holdability: Whether a title/item is eligible to accept a hold under the requesting rules.

- Triggered hold: A hold that has been matched to a specific item and is pending fulfillment for a patron.

- On-order: An acquisitions status indicating an item/title has been ordered but not yet received.

- Business rules: System-enforced policy constraints (e.g., preventing deletion of checked-out items or bibs with outstanding holds).

- Record set: A saved collection of records used for batch operations (e.g., updates, deletions), query scoping, and import/export.

- Dashboard: A configurable interface displaying metrics, statuses, and controls (e.g., system performance, application status, circulation KPIs, log files).

- Console: An administrative interface that centralizes related controls and information (e.g., server console, job scheduling console, configuration file console).

- Job: A scheduled or manual background task (e.g., reports, imports/exports, backups, updates).

- Job scheduling: The capability to schedule, sequence, modify, or cancel jobs; includes permissions for staff to schedule and for administrators to manage all jobs.

- Client: The staff-facing application (desktop or web) used to access ILS functions; configurations and updates are centrally managed.

- Configuration file: A file that stores settings controlling application/server behavior; access is managed per user/group.

- Log file: A file recording system events and errors; viewable without downtime, and with configurable enable/disable and retention settings.

- Root shell: Privileged command-line access on the server for system-level administration.

- Clustering/Failover: Deployment of multiple servers to provide high availability and automatic takeover if a node fails.

- Data rollback: The ability to reverse data changes (e.g., deletions) using logged changes; may include record revision history.

- Development/training/production environments: Separate system instances for development/testing, training, and live operations, with controlled migration of configurations to production.

- Pull list: A dynamically generated list of items to retrieve from shelves to fulfill holds.

- Shelf reading: The process of checking and correcting the physical order and status of items on shelves.

- Weeding: The process of identifying and removing items from the collection based on policy.

- Open/closed schedule: The operating hours calendar used by rules (e.g., for due date calculation).

- Role/Privilege/Security group: Access control constructs used to grant granular permissions to users and groups across modules, functions, records, and files.

- Workgroup: An administrative grouping of staff used for scoping permissions and record visibility.

- OPAC (Online Public Access Catalog): The patron-facing interface through which the public searches for and interacts with library holdings and account services.

- SIP2/NCIP2: Standard library protocols used for real-time communication with self-service and third-party systems (e.g., self check-out stations).

- MARC 21 (USMARC21): The standard format for encoding and exchanging bibliographic and authority records, used for import/export with vendors (e.g., OCLC).

- EDIFACT: A standardized electronic data interchange format used for exchanging order/invoice and related data with vendors.

- ODBC source: A database connectivity interface allowing authorized external access to the ILS relational database.

- SNMP: A standard protocol supported for monitoring system resources and emitting alerts.

- SMTP: The protocol used for email transport within the system.

- SFTP/SSL/SSH: Supported secure protocols for data transfer and remote administration; SFTP supports active and passive modes configurable per vendor.

# 2 References

## Compliance

- Title: MARC 21 Format for Bibliographic Data
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Library of Congress (Network Development and MARC Standards Office)
  - Source: Library of Congress MARC Standards website

- Title: MARC 21 Format for Authority Data
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Library of Congress (Network Development and MARC Standards Office)
  - Source: Library of Congress MARC Standards website

- Title: UN/EDIFACT (United Nations Electronic Data Interchange for Administration, Commerce and Transport)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business)
  - Source: UN/CEFACT website

- Title: NISO Circulation Interchange Protocol (NCIP)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: NISO (National Information Standards Organization)
  - Source: NISO website

- Title: 3M Standard Interchange Protocol (SIP) Version 2.0
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: 3M Library Systems
  - Source: Publisher website

- Title: Simple Network Management Protocol (SNMP)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: IETF (Internet Engineering Task Force)
  - Source: IETF RFC Editor website

- Title: Simple Mail Transfer Protocol (SMTP)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: IETF (Internet Engineering Task Force)
  - Source: IETF RFC Editor website

- Title: Secure Shell (SSH) Protocol
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: IETF (Internet Engineering Task Force)
  - Source: IETF RFC Editor website

- Title: SSH File Transfer Protocol (SFTP)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: Publisher or standards body website

- Title: Secure Sockets Layer (SSL) Protocol
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: Publisher website

- Title: Open Database Connectivity (ODBC)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Microsoft
  - Source: Microsoft documentation website

- Title: HTML Specification
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: W3C (World Wide Web Consortium)
  - Source: W3C website

## Guidance

- Title: King County Library System Acquisitions and Serials Management Module Specification
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: KCLS internal documentation

- Title: King County Library System Circulation Module Specification
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: KCLS internal documentation

- Title: King County Library System Cataloging Module Specification
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: KCLS internal documentation

- Title: King County Library System OPAC and Web Services Requirements
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: KCLS internal documentation

- Title: Microsoft Internet Explorer Product Documentation
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Microsoft
  - Source: Microsoft documentation website

- Title: Mozilla Firefox Product Documentation
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Mozilla
  - Source: Mozilla documentation website

- Title: EMC NetWorker Product Documentation
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Dell EMC
  - Source: Vendor documentation website

- Title: VNC (Virtual Network Computing) Documentation
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: Vendor documentation website

- Title: Microsoft Remote Desktop Documentation
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: Microsoft
  - Source: Microsoft documentation website

## 3.1 Functions

This section summarizes the fundamental actions of the System Administration Module for accepting and processing inputs and generating outputs. Where the original SRS does not specify details required by this section, [N/A] is provided.

- Access control and authorization (individual and shared staff accounts; roles/privileges)
  - Inputs: user credentials; requested operation; assigned roles/privileges; group membership.
  - Validity checks: credential verification; privilege check for the requested module/action; account status.
  - Sequence:
    1) Receive login credentials.
    2) Authenticate user.
    3) Load user/group roles and privileges.
    4) Evaluate requested operation against privileges.
    5) Grant or deny access; apply user-level preferences.
  - Outputs: access granted/denied; operation proceeds or is blocked; audit trail tied to individual logins.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: permission-denied message; [N/A] for additional handling.
  - Effect of parameters: roles/privileges centrally control visibility and capability at module, field, and operation levels; suppression/requesting/loan rules may allow staff override by role.
  - Relationship of outputs to inputs: access outcomes depend on credentials and mapped privileges; I/O sequence as above; formulas: [N/A].

- Configuration and file/log access (config file console; log-file dashboard; root shell access)
  - Inputs: requested file/log identifier; access mode (read/write); user privileges; log retention settings.
  - Validity checks: existence of target file/log; permission to read/write; retention threshold values.
  - Sequence:
    1) Locate file/log from console.
    2) Verify permissions.
    3) Open for view/edit (config) or view/filter (logs).
    4) Apply changes (if any); persist and log change.
  - Outputs: displayed file/log content; saved configuration changes; log viewing without stopping the system.
  - Responses to abnormal situations:
    - Overflow: log retention thresholds configurable; dashboard displays log sizes; additional responses [N/A].
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: enable/disable logs; set retention; [N/A] for rollback of config edits beyond general data rollback.
  - Effect of parameters: per-file read/write permissions; log retention thresholds.
  - Relationship of outputs to inputs: edited configurations produce updated system behavior; logs exposed based on selected filters; formulas: [N/A].

- System monitoring and dashboards (SNMP monitoring, performance/app/circulation dashboards, server console)
  - Inputs: system metrics (disk, CPU, memory, processes, ports), application state, transaction counts, alert thresholds, scope (branch/systemwide).
  - Validity checks: threshold values; dashboard access permissions; metric availability.
  - Sequence:
    1) Collect metrics via SNMP and internal sensors.
    2) Aggregate to dashboards (current and historical).
    3) Compare metrics to thresholds.
    4) Generate alerts to dashboards/email/text when thresholds exceeded.
    5) Provide server/application controls (start/stop/restart).
  - Outputs: visual indicators (e.g., green/red), KPIs, alerts, process lists (PID, owner, CPU/memory, run-time), identification of runaway processes.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: if alert transport fails, [N/A].
    - Hardware faults and failures: status/indicators surface issues; server console provides shutdown/restart; clustering covered under data recovery.
    - Error handling and recovery: administrative actions via consoles; [N/A] for automatic remediation.
  - Effect of parameters: configurable thresholds; user/group access to dashboards; scope filters.
  - Relationship of outputs to inputs: alerts are a function of metric values versus thresholds; formulas: [N/A].

- Job scheduling and management (scheduler and console)
  - Inputs: job definition (task type, parameters), schedule/time, sequencing dependencies, requester identity.
  - Validity checks: schedule format; job existence; permissions to create/manage jobs; dependency validity.
  - Sequence:
    1) Define job and schedule (including “start B when A finishes”).
    2) Validate and save.
    3) Execute at scheduled time; track status.
    4) Allow modification/cancellation before start.
    5) Allow admins to view/manage jobs scheduled by others.
  - Outputs: job execution results/status; logs; notifications [N/A].
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: cancel/modify pending jobs; [N/A] for automatic retry.
  - Effect of parameters: schedule windows; dependency chains; permissions determine who may create/manage jobs.
  - Relationship of outputs to inputs: execution timing derives from schedule and dependencies; formulas: [N/A].

- Concurrency and record lock administration (field/record sharing; lock visibility/unlock)
  - Inputs: record identifier; proposed edits; user identity; lock thresholds.
  - Validity checks: record existence; current lock status; edit permissions.
  - Sequence:
    1) Open record (concurrent access permitted).
    2) If record changed since display, warn user before saving.
    3) Apply edits when permitted.
    4) Admins list sustained locks and unlock as needed.
  - Outputs: updated records; warnings on stale views; lock lists; successful unlock confirmations.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: manual unlock; prompts to avoid lost updates.
  - Effect of parameters: lock duration thresholds; visibility of lock origin (location, user, timestamp).
  - Relationship of outputs to inputs: save outcome depends on lock state and change detection; formulas: [N/A].

- Business rules and validation (loan rules, requesting rules, suppression rules, data validation)
  - Inputs: patron attributes (type, balance, holds count), item attributes (type, status, owning location), transaction context (check-out location schedule), visibility scopes, field values.
  - Validity checks: field-level required/default/format validation; rule definitions’ completeness and precedence [N/A].
  - Sequence:
    1) On operation (e.g., checkout/request/view), gather patron/item/context data.
    2) Evaluate applicable rules (loan/requesting/suppression) in the configured order.
    3) Determine allow/deny, due date, renewal limits, holdability, visibility.
    4) If permitted, complete operation; if denied, optionally allow override by privileged staff per rule.
  - Outputs: allow/deny decisions; due dates and renewal limits; visibility scope; validation errors or formatted values.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: staff override where rules allow; otherwise present denial reason; [N/A] for further recovery.
  - Effect of parameters: rule criteria and thresholds; override permissions; open/closed schedule affects due date calculation.
  - Relationship of outputs to inputs: decisions are deterministic functions of inputs per configured rules; formulas for due date calculation: [N/A].

- Data import/export and batch operations (MARC, record sets)
  - Inputs: MARC bibliographic/authority files; import options (single/batch; fields to overlay); record set definitions; batch update/delete specifications.
  - Validity checks: MARC structure and field selection; target record existence for overlay; permissions for batch updates/deletes.
  - Sequence:
    1) Select import/export type and scope.
    2) Validate and map fields; for import, optionally overlay existing records.
    3) For batch work, build/modify record sets; execute updates/deletes with preview; write errors to log.
    4) Maintain imported batches as selection lists.
  - Outputs: created/updated/exported records; selection lists; error logs; ability to undo deletions.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: error logging; undo for deletions; [N/A] for partial import rollback beyond general data rollback.
  - Effect of parameters: field subsets; overlay rules; set membership; preview/confirm options.
  - Relationship of outputs to inputs: exported content reflects selected fields/records; imports create/overlay per options; formulas: [N/A].

- Data recovery and continuity (backups, rollback, clustering)
  - Inputs: backup type (full/incremental), schedule, targets; data change events; cluster configuration.
  - Validity checks: backup configuration; retention policies [N/A]; rollback availability for target records.
  - Sequence:
    1) Perform live backups (full/incremental), including transaction logs; optionally via third-party software.
    2) Log data changes to enable “undo” and revision control (ideal).
    3) For failover, cluster servers to provide continuity.
  - Outputs: backup archives; change logs; restored/rolled-back data; failover availability.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: failover via clustering.
    - Error handling and recovery: rollback/undo; restore from backups.
  - Effect of parameters: backup schedule/type; clustering topology [N/A].
  - Relationship of outputs to inputs: recovery state corresponds to selected backup/rollback point; formulas: [N/A].

- Account setup and management (staff and patron)
  - Inputs: account data; templates; privilege assignments; defaults.
  - Validity checks: required fields; field validation; privilege granularity for create/modify/delete.
  - Sequence:
    1) Select template.
    2) Enter account data; apply defaults and validation.
    3) Assign privileges/roles.
    4) Create account; log action.
  - Outputs: new or updated accounts with configured privileges and defaults.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: validation errors returned; [N/A] for rollback of account creation beyond general data rollback.
  - Effect of parameters: template content; default values; required/format rules.
  - Relationship of outputs to inputs: resulting account mirrors entered data and template defaults; formulas: [N/A].

- Client management (install/update; configuration; independence from workstation)
  - Inputs: target client list; software package/version; configuration sets; management tool selection.
  - Validity checks: target client reachability; permission to update; configuration integrity.
  - Sequence:
    1) Select clients to update; choose package/configuration.
    2) Push streaming updates from server; optionally manage via VNC/Remote Desktop.
    3) Export/import client configurations as needed.
  - Outputs: updated client software; applied configurations; session management actions.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: ability to kill client sessions from console; [N/A] for automated rollback of failed updates.
  - Effect of parameters: per-client targeting; server-based configuration sets.
  - Relationship of outputs to inputs: client state reflects selected version/config; formulas: [N/A].

- Queries and reporting (query tool; templates; permissions; formats; printing)
  - Inputs: selected record types and fields; predicates (picklists, regex, Boolean operators); templates; output format (display/print/email/save to CSV/Excel/custom); printer type/selection.
  - Validity checks: access permissions to tables/fields; template availability; printer definitions.
  - Sequence:
    1) Define query using UI; validate access to requested data.
    2) Execute query; produce result set.
    3) Apply template/custom layout.
    4) Output via chosen channel (display, print, email, file).
  - Outputs: rendered reports; saved files; emailed outputs; printed outputs; record number report and counts by type.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: permission errors for restricted data; [N/A] otherwise.
  - Effect of parameters: report templates; per-user run permissions; printer type (receipt/standard/label/forms).
  - Relationship of outputs to inputs: report content equals query result mapped through template and chosen format; formulas: [N/A].

- Email and outbound transport configuration (email configuration; SMTP support)
  - Inputs: SMTP settings (including active/passive modes for SFTP is separate; SMTP only for email), masquerading, log retention, bounce management.
  - Validity checks: configuration completeness; permissions to edit.
  - Sequence:
    1) Access email configuration console.
    2) Edit/select common settings via quick menu.
    3) Save and apply.
  - Outputs: updated email transport settings.
  - Responses to abnormal situations:
    - Overflow: email log retention configurable; additional handling [N/A].
    - Communication facilities: [N/A] for handling of SMTP failures.
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: [N/A]
  - Effect of parameters: SMTP mode/settings directly affect email delivery.
  - Relationship of outputs to inputs: email behavior follows configured parameters; formulas: [N/A].

- Security and secure protocols (patron data security; SFTP/SSL/SSH)
  - Inputs: data transfer requests; protocol selection; vendor-specific SFTP mode.
  - Validity checks: protocol availability; mode compatibility; permissions.
  - Sequence:
    1) Select secure protocol for transfer (SFTP active/passive per vendor, SSL, SSH).
    2) Establish secure session.
    3) Transfer data ensuring patron data security.
  - Outputs: securely transferred data.
  - Responses to abnormal situations:
    - Overflow: [N/A]
    - Communication facilities: [N/A]
    - Hardware faults and failures: [N/A]
    - Error handling and recovery: [N/A]
  - Effect of parameters: protocol/mode choice affects connectivity and security posture.
  - Relationship of outputs to inputs: transfer success depends on protocol and connectivity; formulas: [N/A].

- Real-time processing
  - Inputs: operational events (e.g., check-in/out, holds placement); viewing/printing requests (pull lists; shelf reading/weeding).
  - Validity checks: [See business rules and authorization above].
  - Sequence:
    1) Receive event or view request.
    2) Apply relevant rules/validations.
    3) Present or act on up-to-date data at time of viewing/printing.
  - Outputs: current lists/indicators; completed transactions.
  - Responses to abnormal situations: [N/A] for all sub-points.
  - Effect of parameters: rule configurations and permissions govern outcomes.
  - Relationship of outputs to inputs: outputs reflect current database state at request time; formulas: [N/A].

- Database access (SQL-based DB; ODBC source)
  - Inputs: SQL queries; ODBC connections; administrative tool requests.
  - Validity checks: query permissions; table/field access controls.
  - Sequence:
    1) Accept SQL/ODBC request.
    2) Authorize access to tables/fields.
    3) Execute query.
  - Outputs: query result sets; administrative data access.
  - Responses to abnormal situations: [N/A] for all sub-points.
  - Effect of parameters: admin-controlled visibility of tables/fields.
  - Relationship of outputs to inputs: results reflect submitted query against accessible tables; formulas: embedded in SQL, not specified; [N/A].

## 3.2 Performance requirements

- Static capacity requirements
  - Supported locations: at least 50 library branches (OE-1).
  - Annual circulation volume: at least 20,000,000 circulation transactions per year (OE-1).
  - Annual new items: at least 500,000 items purchased and processed per year (OE-1).
  - Record types to be handled: authority, bibliographic, item, order, invoice, hold/request, patron (UD-1, 2.8/2465).
  - Number of terminals/workstations to be supported: [N/A].
  - Maximum simultaneous users/sessions to be supported: [N/A].
  - Maximum volumes per record type (counts, sizes): [N/A].

- Dynamic performance requirements
  - Real-time processing: circulation pull lists and live shelf operations shall reflect current data at time of viewing/printing (2.1/5615). Quantified response time targets under normal and peak loads: [N/A].
  - Concurrency: multiple staff and patrons may simultaneously access and update patron and item records across staff stations, self-check, OPAC, and SIP2/NCIP2 and similar protocols/APIs (2.1/5323). Maximum concurrent operations and contention targets: [N/A].
  - Record locking: lock duration thresholds are configurable; administrators can list and unlock sustained-use/locked records (2.2/7302, 2.1/6513). Numeric lock-time thresholds and limits: [N/A].
  - Searches and reports: shall be runnable during open hours without disrupting other system functions (OE-1). Throughput and latency targets for normal and peak hours: [N/A].
  - Backups and recovery: supports live incremental and full backups and third‑party backup software (2.4/6502); data changes logged with undo/revision control desired (2.4/6505). Backup windows, RPO, and RTO targets: [N/A].
  - Availability and failover: supports server clustering for failover capability (2.4/2462). Uptime percentage and failover switchover time targets: [N/A].
  - Monitoring and alerting: SNMP-based monitoring with configurable thresholds; alerts via dashboards, email, and text (2.2/6501). Threshold values and alert delivery latency: [N/A].
  - Email transport: SMTP supported (2.2/6516). Email throughput and latency targets: [N/A].

## 3.3 Usability requirements

The following usability and quality-in-use requirements are derived from the original SRS and focus on effectiveness, efficiency, satisfaction support, accessibility, and avoidance of harm in use.

- Accessibility
  - The system shall be accessible with screen-reading software, screen-magnification software, and other assistive technologies. (OE-5)
  - The System Administration Module shall be accessible through a web browser or a Windows-compatible client; if web-based, it shall be accessible via Microsoft Internet Explorer v6.0 and later and Mozilla Firefox v2.0 and later. (OE-3, OE-4)

- Effectiveness and error prevention
  - The system shall provide a user-friendly interface for designing queries, including field selection, picklists of values, selectable regular expressions, and Boolean operators; administrators control staff access to tables and fields. (REQ-5624)
  - When multiple users access and update records, the system shall apply record changes reasonably and shall warn users when a record has been changed since it was displayed. (REQ-5323)
  - Staff shall be able to identify where a patron or item record is in use (location, user, timestamp); administrators can set thresholds for record locks, list locked records, and unlock one or more records from a console. (REQ-6513, REQ-7302)
  - The system shall enforce business rules that restrict destructive operations (e.g., prohibit deletion of checked-out items or bibliographic records with existing holds). (REQ-2445)
  - The system shall provide Rules of Suppression to control whether authority, bibliographic, order, and item records are visible to staff and patrons in staff and public interfaces, with scoping by workgroup and location. (REQ-5278)
  - The system shall provide dedicated interfaces for creating staff and patron accounts, with configurable templates, field validation, required fields, configurable defaults, and granular privileges for account creation, modification, and deletion. (REQ-2420, REQ-2419)

- Efficiency and productivity
  - The system shall support real-time processing so pull lists are current at viewing/printing time and shall support live shelf reading and weeding. (REQ-5615)
  - The system shall support administrator- and user-programmable keyboard macros and shortcuts, centrally managed, importable/exportable, assignable to functions or text, and permission-restricted. (REQ-2220)
  - Dashboards shall support:
    - Creation of custom dashboards displaying current and historical performance and activity data, with shareable access. (REQ-6520)
    - Performance monitoring with process identification and visual status indicators (e.g., green/red lights). (REQ-2467)
    - Application status (e.g., backups, reboots, software version, transaction queues, log sizes, record counts, database utilization). (REQ-2464)
    - Circulation key performance indicators filterable by branch or systemwide. (REQ-6503)
  - Consoles shall support:
    - Server management (software/server shutdown and restart utilities). (REQ-2466)
    - Client management (workstation list with name/IP and session management utilities). (REQ-2430)
    - Single-point access to configuration files with assignable read/write permissions. (REQ-6517)
    - Log-file discovery and viewing. (REQ-2433)
    - A single interface for reviewing and controlling scheduled tasks (e.g., reports, imports/exports, updates). (REQ-6521)
  - Email configuration shall include a quick menu of common settings; the system shall support SMTP for email transport. (REQ-6515, REQ-6516)
  - Record sets shall support batch field updates, scoping for queries, batch deletion with pre-review, error logging, and undo. (REQ-6518)
  - Reporting and output usability:
    - Administrators can create report templates for front-line staff; fine-grained permissions control who can run specific or ad hoc reports. (REQ-5607, REQ-5617)
    - Report layout and appearance are fully customizable; reports can be displayed, printed, emailed, or saved to standard formats (CSV, Excel) and customizable formats. (REQ-2197)
    - Users can define/select printer types (receipt, standard, label, forms); all Windows printers are supported. (REQ-2441)
    - Users can print to file on the server, FTP, email, or printer and, when applicable, select fields and control field order in printouts. (REQ-2439)
  - It is highly desirable that searches and reports can be processed during open hours without disrupting other system functions. (OE-1)

- Information and help
  - The system shall provide an online, hierarchical, cross-linked HTML help system that describes and illustrates all functions. (UD-3)
  - System documentation shall be library- and version-specific, web-based, indexed, organized by function, and easily searchable. (REQ-2428)
  - System upgrades and updates shall include written guidelines for updating servers and clients, including lists of new, changed, and removed features. (REQ-2431)

- Avoidance of harm in use (safety)
  - Patron data shall be secure in all transfers to and from the system. (REQ-6510)
  - The system shall log data changes and provide undo functionality; revision control is desirable. (REQ-6505)
  - The system shall support live incremental and full backups of data and transaction logs, including use of third-party backup software; clustering for failover shall be supported. (REQ-6502, REQ-2462)

- Quantitative usability targets
  - Effectiveness metrics: [N/A]
  - Efficiency metrics: [N/A]
  - Satisfaction targets: [N/A]
  - Safety in use targets (avoidance of harm): [N/A]

## 3.5 Logical database requirements

### Types of information used by functions
- Core record types: authority, bibliographic, item, patron, order, invoice, and hold/request records.
- Administrative and security data: user accounts, group accounts, roles/privileges, report permissions, access scopes to tables/fields, and access to record numbers.
- Operational control data: business rules (loan rules, requesting rules, suppression/visibility rules), field-level validation rules (defaults, required status, formatting).
- Concurrency and session data: record locks (record identifier, location, user, timestamp), client sessions.
- Scheduling and automation: scheduled jobs/tasks (reports, imports/exports, maintenance jobs), job templates, report templates.
- Maintenance and recovery: backup configurations and status, transaction logs, change logs/revisions (when enabled), record sets and their memberships.
- Configuration and environment: email transport settings (including log retention and bounce management), printer definitions, location codes and schedules (open/closed), item/patron types and item statuses.
- Monitoring and telemetry: counts by record type, process and system metrics references for dashboards.
- Import/export packages: MARC bibliographic and authority batches, selection lists.

### Frequency of use
- Real-time transaction processing for circulation, holds, and updates; pull lists reflect current state at view/print time.
- High-volume operations consistent with a large, multi-branch system: approximately 20 million circulations per year; system supports 50 locations and processes over 500,000 items per year.
- Concurrent access and updates to patron and item records by multiple staff and patrons (including through self-check and OPAC interfaces).
- Searches, queries, and reports are expected to run during open hours without disrupting other functions.
- Scheduled jobs run at configured intervals or sequences; administrators can modify or cancel jobs prior to start.
- Specific per-entity access frequencies [N/A].

### Accessing capabilities
- Fully relational, SQL-based database; ability to run SQL queries against any table.
- Database accessible as an ODBC source; all data tables and data storage are fully accessible.
- Query tool supports queries against all record types with Boolean operators, picklists, and regular expressions; administrators control access to tables and fields.
- MARC authority and bibliographic import/export (single and batch), with overlay of existing records; batches can be maintained/manipulated as selection lists.
- Record sets support import/export of members, batch field updates, scoped queries, batch deletions with pre-review, error logging, and undo.
- Reports can be displayed, printed, emailed, or saved to standard formats (e.g., CSV, Excel); layouts are customizable.
- External/system interfaces include SIP2/NCIP2 and similar protocols/APIs for patron/item record access via staff, self-check, and OPAC channels.

### Data entities and their relationships
- Holds/requests evaluate and operate over both patron and item data (e.g., patron type, current holds, account balance; item type, status, owning location code).
- Loan/check-out logic evaluates patron and item data and uses check-out location schedules to compute due dates; renewals are constrained by loan rules.
- Suppression/visibility rules govern whether authority, bibliographic, order, and item records are visible in staff and public (OPAC) interfaces, with scoping by workgroups and locations.
- User and group accounts relate to roles/privileges that determine module and data access; report and field/table access are governed by these privileges.
- Record locks are associated with records (patron or item), the user/session holding the lock, location, and timestamp; lock administration can list and release locks.
- Scheduled jobs and report templates are authored by administrators and may be visible to or runnable by specific users/groups.
- Record sets contain memberships of heterogeneous record identifiers (e.g., item, bibliographic, patron) and act as scopes for batch operations.
- Backups reference database content and transaction logs; system maintains metadata about last full/incremental backup and related events.
- Entity relationship details beyond those stated above [N/A].

### Integrity constraints
- Field-level constraints: defaults, data validation, automatic formatting, and required fields can be specified for any field.
- Business-rule constraints: 
  - Deletion restrictions (e.g., disallow deleting checked-out items or bibliographic records with existing holds).
  - Requesting rules determine hold eligibility based on patron and item criteria; staff with specific roles may override configured criteria.
  - Loan rules govern check-out eligibility, loan periods, and renewal limits; staff overrides are role-controlled.
- Concurrency control: 
  - Multiple simultaneous users may access/update records; changes made since display trigger user prompts.
  - Configurable record-lock durations; administrators can list and unlock sustained locks.
- Recovery consistency:
  - Data changes are logged; undo functionality available; revision control is desirable.
  - Live incremental and full backups of data and transaction logs are supported.
- Failover support via server clustering contributes to data availability and consistency.

### Security
- Access control:
  - User rights and privileges are centrally visible and controllable; accounts and groups are granted module- and data-level access via roles/privileges.
  - Administrators control staff access to specific tables and fields; permissions govern ad hoc report execution and access to sensitive outputs (e.g., record numbers).
  - Visibility of bibliographic/authority/order/item records is governed by suppression rules scoped to workgroups and locations.
- Data protection:
  - Patron data is secure in all transfers to and from the system.
  - Secure protocols supported: SFTP (active/passive, configurable per vendor), SSL, SSH.
- Configuration/data governance:
  - Read/write permissions for configuration assets can be assigned to users and groups.
  - Individual staff logins support audit trails and user-level preferences.

### Data retention requirements
- Log files can be enabled/disabled and configured with retention thresholds; logs are viewable without stopping the system.
- Email configuration supports log retention and bounce management.
- Backups include data and transaction logs; specific retention periods for backups and transaction logs [N/A].
- Retention periods for core records (patron, bibliographic, item, order, invoice, hold/request), audit trails, and revisions [N/A].

## 3.6 Design constraints

- Database technology: Use a fully relational, SQL-based DBMS; provide ODBC data-source access and allow direct SQL queries.
- Platform and access channels: Operate on Linux or Solaris; accessible via a web browser or a Windows-compatible client; if browser-based, support Microsoft Internet Explorer v6.0+ and Mozilla Firefox v2.0+.
- Web standards: Produce standards-compliant HTML.
- Accessibility: Must be accessible with screen-reading software, screen-magnification software, and other assistive technologies.
- Security and data transfer standards: Patron data must be secure in all transfers; support SFTP (active and passive modes), SSL, and SSH.
- Network and system monitoring standards: Provide full SNMP support for monitoring system resources.
- Email transport: Support SMTP for email delivery.
- External data and integration standards: Interface via published vendor APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT); support MARC bibliographic and authority record import/export to/from vendors including OCLC.
- Authorization model: Control user rights and privileges via security groups and/or roles.
- Environments and deployment: Provide separate development and training environments with the ability to migrate configurations to production.
- Administrative access and configurability: Provide access to the root shell; provide full access to configuration and log files, with log viewing without stopping the system and configurable retention policies.

## 3.7 Software system attributes

- Reliability
  - Real-time processing ensures up-to-date operational data (REQ-5615).
  - Concurrent field and record sharing with conflict detection/prompts to prevent lost updates (REQ-5323).
  - Record lock visibility and administration (identify locks; set thresholds; unlock) to avoid stale locks and contention (REQ-6513, REQ-7302).
  - Business-rule enforcement to prevent invalid destructive actions (e.g., blocking deletion of checked-out items or bibs with holds) (REQ-2445).
  - Configurable data validation, defaults, formatting, and required fields to reduce data errors (REQ-5328).
  - Proactive monitoring via SNMP with configurable alert thresholds and multi-channel notifications; performance dashboards identify runaway processes and show status indicators (REQ-6501, REQ-2467).

- Availability and recovery
  - Live incremental and full backups of data and transaction logs; supports third-party backup software (e.g., EMC NetWorker) (REQ-6502).
  - Data rollback for changes (e.g., deletions) and revision control where available (REQ-6505).
  - Server clustering for failover capability (REQ-2462).
  - Log files viewable without stopping the system; logging can be enabled/disabled with retention thresholds (REQ-2474).
  - Server management console for clean software/server shutdowns and restarts; process management tools (REQ-2466, REQ-2467).
  - Centralized job scheduling and management (including sequencing and cancellation) to control maintenance tasks, reports, and data exchanges (REQ-6507, REQ-6508, REQ-6521).
  - Alerts deliverable via dashboards, email, and text to an unlimited number of recipients (REQ-6501). SMTP supported for transport (REQ-6516).
  - Operations during open hours should not disrupt other system functions (high-load, multi-branch environment) (OE-1).
  - Client session visibility and termination from a management console (REQ-2430).

- Security
  - Patron data secured in all transfers (REQ-6510).
  - Support for secure protocols: SSL, SSH, and SFTP (active/passive configurable per vendor) (REQ-6511).
  - Role/privilege-based access control; administrators have full visibility and control of user privileges (CO-4, REQ-6509).
  - Fine-grained permissions for running reports and ad hoc queries; administrator-controlled access to tables/fields (REQ-5617, REQ-5624).
  - Configuration file console with assignable read/write permissions per user/group (REQ-6517).
  - Rules of suppression govern visibility of authority, bibliographic, order, and item records in staff and OPAC interfaces (REQ-5278).
  - Loan and requesting rules include controlled staff overrides based on role/privilege (REQ-5057, REQ-5190).
  - Logging with configurable retention supports auditability (REQ-2474).

- Maintainability
  - Separate development and training environments with migration to production (CO-3).
  - Web-based, indexed, searchable, version-specific system documentation; upgrade guidelines include lists of new/changed/removed features (REQ-2428, REQ-2431).
  - Centralized access to all configuration files and a dedicated configuration console (REQ-2479, REQ-6517); log-file dashboard for discovery and review (REQ-2433).
  - Administrative dashboards for system performance, application status, circulation KPIs, and custom dashboards (REQ-2467, REQ-2464, REQ-6503, REQ-6520).
  - Centrally managed client installation and updates (selective targeting; streaming updates; VNC/Remote Desktop supported) (REQ-6504); server/client session management consoles (REQ-2466, REQ-2430).
  - Job scheduling with sequencing and cross-user management (REQ-6507, REQ-6508, REQ-6521).
  - Centrally managed, importable/exportable keyboard macros/shortcuts with permission controls (REQ-2220).
  - Server-based client configurations with export/import between clients (REQ-6519).
  - Record sets to support batch updates, scoped queries, and safe batch deletions with review, error logging, and undo (REQ-6518).
  - MARC authority/bibliographic import/export with overlay options; batch handling as selection lists (REQ-1716).
  - Root shell access for advanced administration (REQ-2470).
  - Fully relational SQL database with ODBC access; full accessibility of data tables and storage for administration and reporting (REQ-6512).

- Portability and interoperability
  - Server operating systems: Linux or Solaris (OE-2).
  - Access via web browser or Windows-compatible client (OE-3); browser compatibility: Microsoft Internet Explorer 6.0+ and Mozilla Firefox 2.0+ (OE-4).
  - Standards-compliant HTML output (CO-2).
  - Relational SQL database with ODBC source access (REQ-6512).
  - Supported protocols and interfaces include SNMP (monitoring) (REQ-6501), SMTP (email) (REQ-6516), SFTP/SSL/SSH (secure transfer) (REQ-6511), and SIP2/NCIP2 for external device/integration scenarios (REQ-5323).
  - Report/output format interoperability: CSV and Excel; customizable layouts (REQ-2197).
  - Printing interoperability: all Windows printers; multiple output paths (file, FTP, email, printer) (REQ-2441, REQ-2439).

## 3.8 Supporting information

This section provides contextual information to aid interpretation of the SRS. Unless an item is explicitly stated as a requirement elsewhere in Section 3 (e.g., with a requirement identifier), the information in this section is non-normative and not part of the contractual requirements.

- a) Sample input/output formats and related studies
  - Supported or referenced input/output and interchange formats:
    - MARC bibliographic and authority records (import/export; batch and single; overlay of existing records; vendors including OCLC).
    - Standard-format data files for vendor interfaces (e.g., USMARC21, EDIFACT).
    - Report outputs to CSV and Excel, with customizable layouts; ability to display, print, email, or save.
    - Database access via ODBC; ability to run SQL queries against any table.
    - Messaging/transfer and printing channels: SMTP for email; SFTP/SSL/SSH for secure transfer; ability to print to file on server, FTP, email, or printer.
  - Representative operational outputs:
    - Administrative dashboards (system performance, application status, circulation KPIs, log-file views).
    - Alerts delivered via dashboards, email, and text messages; configurable thresholds.
    - Log files viewable without stopping the system, with configurable retention.
  - Cost analysis studies: [N/A]
  - Results of user surveys: [N/A]

- b) Supporting/background information
  - Target environment and scale: large, multiple-branch library system (approximately 50 locations, 20 million circulations per year, 500,000 items purchased/processed per year). Desirable that searches and reports can be processed during open hours without disrupting other functions.
  - Product context: System Administration Module is part of an enterprise-level Integrated Library System (ILS) and presupposes the data structures and functionality of a full ILS. It relies on (and interacts with) Acquisitions and Cataloging modules and a patron interface (OPAC). It interfaces with vendor websites via published APIs and/or automated transfer of standard-format data files. Concurrent access includes use via SIP2/NCIP2 and similar protocols/APIs.
  - Operating environment and accessibility: operates on Linux or Solaris; accessible via web browser or Windows-compatible client; browser support includes Microsoft Internet Explorer (v6.0+) and Mozilla Firefox (v2.0+); accessible with screen-reading and screen-magnification software and other assistive technologies.
  - Development and documentation conventions: requirements may reference process flowcharts that describe current approaches and are provided for context, not to prescribe or constrain new development. Further specification of data structures and user interfaces is expected through an iterative, prototype-oriented development methodology. The system includes online, hierarchical, cross-linked help in HTML; the developer provides data specifications for major record types and high-level descriptions of major processes.

- c) Description of the problems to be solved by the software
  - Centralized administration for configuring and operating a large, multi-branch ILS, including features and processes for branches, patrons, collections, and circulation.
  - Monitoring, troubleshooting, and controlling server, database, application, services, ports, and API performance, with dashboards, alerts, and consoles.
  - Managing user and group accounts and privileges using roles; providing interfaces for creating staff and patron accounts with validation, templates, and granular permissions.
  - Managing server and client software installation, upgrades, and updates; centralized client configuration and update mechanisms.
  - Ensuring real-time processing and concurrent access to records with appropriate record lock visibility, administration, and conflict handling.
  - Defining and enforcing business rules (loan, requesting/holdability, visibility/suppression, data validation).
  - Providing data protection and continuity: live incremental/full backups, integration with third-party backup tools, rollback/undo of data changes, and server clustering for failover.
  - Scheduling and managing maintenance tasks, reports, imports/exports, and software updates, with permissions and oversight.
  - Enabling query and reporting capabilities with templates, permissions, and multiple output channels/formats.

- d) Special packaging instructions (security, export, initial loading, media)
  - [N/A]

Normative status: The items listed above are provided for background and clarification and are not themselves requirements unless they are explicitly specified as such in Section 3 with requirement identifiers.

## 4.1 Functions

This section defines the verification approaches and methods planned to qualify the software functions. Verification items are organized in parallel with the functional requirement areas and cover input validity, operational sequencing, abnormal conditions, parameter effects, and input–output relationships. Where the original SRS does not specify required content, [N/A] is recorded.

Verification for input validity checks
- 5328 Data validation: Test and demonstration. Configure default values, required flags, and formatting for representative fields across record types; attempt invalid inputs and verify rejection with messages; verify valid inputs are accepted.
- 2419 Patron account setup: Test. Use templates with required fields and defaults; attempt creation with missing/invalid data to confirm enforcement; verify defaults applied.
- 2420 Staff account setup: Test. Validate required fields and template behavior; verify granular privilege selection enforces allowed/denied values.
- 5190 Requesting rules and 5057 Loan rules: Test. Configure rules with specific criteria (patron type, balances, item status/type, location); attempt disallowed/allowed operations (place hold, check out) to verify rule evaluation and any staff override prompts.
- 5278 Suppression rules: Test. Configure visibility by role/location; verify staff/patron interfaces expose only permitted records/fields.
- 5624 Query tool: Test. Verify field picklists constrain values, regex selections are applied correctly, and boolean logic produces expected result sets; confirm administrators can limit table/field access and that limits are enforced.
- 5617 Reports permissions and 6517 Configuration file console permissions: Test. Assign fine-grained permissions and confirm access is correctly granted/denied.

Verification for exact sequence of operations
- 6507 Job scheduling (including sequencing) and 6521 Job scheduling console: Test and demonstration. Define Job A then Job B with “start B when A finishes”; instrument execution order and verify no overlap; modify/cancel jobs prior to start and confirm effect in schedule.
- 2466 Server console: Demonstration in a controlled environment. Execute software shutdown, startup, server shutdown, and server restart in prescribed order; verify state transitions and that dependent services follow the expected sequence.
- 1716 MARC import/export: Test. Import batches that overlay existing bibliographic records; verify overlay order (match, validate, overlay, index) produces intended results; export round-trip validation.
- 6518 Record sets (batch updates/deletes with review/undo): Test. Execute batch update/delete workflow in defined order (create set, preview, commit, log, undo) and verify each step’s state and logs.

Verification for responses to abnormal situations
- Overflow: [N/A]
- Communication facilities:
  - 6516 SMTP support and 6515 Email configuration: Test. Validate SMTP connectivity and mail transport; toggle common settings (masquerade, log retention, bounce handling); simulate SMTP misconfiguration and verify failure messages/logging. Specific response requirements to communication failures are [N/A].
  - 6511 Secure protocol support (SFTP active/passive, SSL, SSH): Test. Establish connections in active and passive modes per vendor configuration; transfer files; verify encryption in transit; simulate credential errors and confirm secure failure and logging. Specific recovery behavior is [N/A].
  - 6501 System monitoring alerts: Test. Configure thresholds and verify alerts via dashboard, email, and text are generated and delivered; test to multiple recipients.
- Hardware faults and failures:
  - 2462 Server clustering: Test. Induce a primary node failure in a test cluster and verify failover to secondary without data loss; measure continuity of service as feasible by demonstration. Specific recovery time objectives are [N/A].
  - 6501 System monitoring: Test. Verify detection of CPU/memory/disk/process faults and alerting as configured.
  - 2466 Server console: Demonstration. Verify controlled restart/shutdown supports recovery from hung processes.
- Error handling and recovery:
  - 6505 Data rollback: Test. Perform data changes and deletions; use “undo” to restore prior state; verify logs record changes and that rollback aligns with log entries; if revision control exists, verify version history and reversion. Where revision control is not provided, [N/A].
  - 2474 Log file access and 2433 Log-file dashboard: Test. Enable/disable logs, set retention, and review logs live without stopping the system; verify errors are captured and discoverable.
  - 7302 Record lock administration and 6513 Record lock management: Test. Simulate contention; verify age thresholds and listing of sustained locks; unlock one or multiple records; confirm user/location/time metadata is reported.

Verification for effect of parameters
- 6501 Monitoring alert thresholds: Test. Adjust thresholds; verify alert firing/non-firing changes accordingly across delivery channels.
- 7302 Record lock thresholds: Test. Change lock duration; verify automatic listing and administrative actions reflect new thresholds.
- 5190/5057/5278 Business/requesting/loan/suppression rules: Test. Modify rule parameters and verify immediate effect on visibility, holdability, and circulation behavior; validate staff override flags where specified.
- 6515 Email configuration: Test. Change parameters and verify mail routing, logging, and bounce handling effects.
- 5617 Reports permissions and 6508 Job scheduling management: Test. Modify permission sets; verify users can/cannot run/see reports and schedule/manage jobs accordingly.
- 6517 Configuration file console permissions: Test. Assign read/write at file level; confirm enforcement.

Verification for relationship of outputs to inputs
- Input/output sequences:
  - 6507/6521 Job scheduling: Test. Verify scheduled job execution sequences match defined dependencies and inputs (schedules) produce expected outputs (completed job runs, logs).
  - 1716 MARC import/export: Test. Verify that given input records and overlay rules produce expected catalog records; export inputs reproduce expected output formats for OCLC and batch cases.
  - 6518 Record sets: Test. Given a defined set input, confirm batch updates/deletes apply only to members; verify undo restores original outputs.
  - 2464/2467/6503 Dashboards: Test. Seed known transactions and system loads; verify dashboard indicators reflect accurate counts and performance metrics at branch/system scope.
  - 2465 Record number report: Test. Insert/update/delete/purge records and verify report fields (current record number, counts deleted/purged) track inputs accurately with access controls enforced.
  - 5624/5607/2197/2439 Reports and printing: Test. Create queries and apply templates; verify displayed/printed/emailed/saved outputs match selected fields, ordering, and formats (CSV, Excel, custom); verify print-to-file/FTP/email/printer outputs; validate field selection impacts output.
- Formulas for input to output conversion: [N/A]

Verification by functional area (completeness across stated functions)
- Systems: General
  - 6512 SQL-based database: Inspection and test. Verify RDBMS in use; run SQL queries across tables; confirm ODBC access; confirm accessibility of required data tables and storage per administrative role.
  - 5615 Real-time processing: Test. Perform operations (e.g., create/complete circulation transactions) and immediately view/print pull lists and live shelf tasks to confirm data reflect current state; verify no undue staleness.
  - 5323 Field and record sharing: Concurrency test. Use multiple clients (staff, patron, self-check via SIP2/NCIP2/API) to access/update same records; verify prompts on concurrent change and privilege-based field visibility.
  - 2492 Individual and shared staff login accounts: Test. Create both account types; assign privileges/roles; verify module access and user-level preferences; confirm audit trail presence.
  - 2428 System documentation and 2431 System upgrade guidelines: Inspection. Verify web-based, version-specific, indexed documentation; confirm upgrade notes include lists of new/changed/removed features.
  - 2479 Configuration file access and 2474 Log file access: Test. Access configuration/log files; verify live review; enable/disable logs; set retention.
  - 2470 Root shell access: Demonstration in secured test environment. Verify root shell availability for administrative operations.
- Consoles and Dashboards
  - 6520 Dashboard configuration: Test. Create custom dashboards with historical/current data; share with selected users/groups; verify access controls.
  - 6501 System monitoring: Test. Validate SNMP support; monitor system resources; configure and receive alerts via all channels and to unlimited recipients.
  - 7302 Record lock administration: Test. Configure thresholds; list locked records by type; unlock records; verify effects.
  - 2467 System performance dashboard: Test. Verify display of process ID, owner, IP, CPU/memory, run time; confirm runaway processes are flagged; verify visual status indicators.
  - 2466 Server console: See sequencing above.
  - 2464 Application dashboard: Test. Verify display of last full/incremental backup, planned/unplanned reboots, last upgrade, current version, queued transactions, log sizes, record counts by type, and database utilization.
  - 2430 Client management console: Test. Verify listing of client workstations, names, IPs; manage/terminate client sessions.
  - 6503 Circulation dashboard: Test. Verify KPIs (check-outs/check-ins per hour, holds placed/paged) by branch and systemwide scopes.
  - 6517 Configuration file console: Test. Access all configuration files from a single console; verify per-user/group read/write permission enforcement.
  - 2433 Log-file dashboard: Test. Locate and view log files from dashboard.
  - 6521 Job scheduling console: Test. Review and control scheduled tasks across categories (staff-scheduled, automated reports, imports/exports, software updates).
  - 6515 Email configuration and 6516 SMTP support: See communication tests above.
- Business Rules
  - 2445 Business rules: Test. Attempt restricted actions (e.g., delete checked-out item; delete bib with holds) and verify prohibition and messaging.
  - 5278 Suppression rules: See input validity tests.
  - 5190 Requesting rules and 5057 Loan rules: See input validity tests; additionally verify due date calculation can use check-out location open/closed schedule where applicable and renewal limits.
- Data Recovery
  - 6502 System backup: Test and demonstration. Execute live incremental and full backups of data and transaction logs; verify integrity by performing representative restores; demonstrate integration with third-party backup (e.g., EMC NetWorker).
  - 6505 Data rollback: See error handling and recovery.
  - 2462 Server clustering: See hardware faults and failures.
- Security
  - 6510 Patron data security: Test. Capture network traffic during transfers to ensure encryption; verify secure transfer paths are enforced.
  - 6509 User account privileges: Test. Confirm administrators can view and modify user privileges comprehensively; verify changes take effect and are auditable.
  - 6511 Secure protocol support: See communication tests.
- Maintenance
  - 1716 MARC import/export: See sequencing and I/O relationship tests.
  - 6518 Record sets: See sequencing and I/O relationship tests.
  - 2420 Staff account setup and 2419 Patron account setup: See input validity tests.
  - 6507 Job scheduling and 6508 Job scheduling management: See sequencing and parameter tests.
  - 2220 Keyboard macros and shortcuts: Test. Create admin/user-defined macros and assign shortcut keys; centrally manage on server; import/export between users; verify permissions restrict use/editing.
- Client Management
  - 6514 Accounts independent from workstation: Test. Logins function across different clients and locations; client install not tied to location.
  - 6504 Client software updates: Test. Push centrally managed installations/updates via network tools; stream updates; target specific clients; verify management with VNC/Remote Desktop.
  - 6519 Client configurations: Test. Confirm configurations are server-based and can be exported/imported between clients.
- Queries and Reports
  - 2197 Report format and output: Test. Customize layout/appearance; display/print/email/save to CSV, Excel, and custom formats; verify fidelity.
  - 5624 Query tool: See input validity.
  - 5607 Report templates: Test. Create templates for front-line staff; run as-is and with modifications; verify permissions.
  - 5617 Reports permissions: See input validity.
  - 2465 Record number report: See I/O relationship.
  - 2441 Printer support: Test. Define/select receipt, standard, label, and forms printers; verify compatibility with Windows printers.
  - 2439 Multiple print output options: See I/O relationship.

Gaps and [N/A] declarations required by the standard
- Overflow handling requirements: [N/A]
- Explicit responses to communication failures (beyond protocol support and alert delivery): [N/A]
- Detailed hardware fault response criteria (e.g., RTO/RPO): [N/A]
- Exact, end-to-end sequences for all operations (except those explicitly stated above): [N/A]
- Formulas for input-to-output conversion: [N/A]

## 4.2 Performance requirements

This subsection defines the verification approaches and methods to qualify performance-related requirements. Items are organized to parallel static (capacity) and dynamic (throughput/latency) aspects implied by the requirements.

- Static capacity: library scale (branches and annual transactions)
  - Related requirements: OE-1; 5615; 5323
  - Verification method: performance and endurance testing with production-like data on Linux/Solaris; browser and Windows clients
  - Setup:
    - Configure 50 logical locations
    - Populate representative bibliographic, authority, item, order, invoice, patron, and hold/request records
    - Drive mixed workloads across staff clients, OPAC, SIP2/NCIP2/self-check, and APIs
  - Measures:
    - Sustained transaction throughput equivalent to expected annual circulation volume (20 million/year) exercised as steady-state and peak profiles
    - System resource utilization (CPU, memory, disk I/O), queue depths, error rates
    - Data integrity under load
  - Acceptance criteria:
    - System supports 50 locations without functional degradation or capacity faults
    - No data loss or corruption at the exercised throughput
    - Quantitative latency/throughput limits: [N/A]

- Static capacity: number of terminals/workstations supported
  - Related requirements: [N/A]
  - Verification method: scalability test with progressively increasing concurrent client sessions
  - Setup: Simulate staff, patron OPAC, self-check, and API clients
  - Measures: Successful session establishment, authentication, and sustained operations per client
  - Acceptance criteria: Maximum supported terminals/workstations: [N/A]

- Static capacity: number of simultaneous users
  - Related requirements: 5323
  - Verification method: concurrency testing with mixed read/write workloads on patron and item records
  - Setup: Concurrent sessions across staff and patron channels, including SIP2/NCIP2
  - Measures: Contention rates, lock waits, conflict resolution behavior, error rates
  - Acceptance criteria: Supported simultaneous users: [N/A]

- Static capacity: amount and type of information handled
  - Related requirements: UD-1; 1716; 6518; 2465
  - Verification method: database sizing and volume tests with large datasets for all record types; import/export exercises
  - Setup: Load high-cardinality datasets; execute record set operations and MARC import/export
  - Measures: Maximum record counts by type, index sizes, import/export throughput, record set operation times
  - Acceptance criteria: Quantitative data volume limits by record type: [N/A]

- Dynamic performance: real-time processing and data freshness
  - Related requirements: 5615; 5323
  - Verification method: end-to-end latency measurement under load
  - Setup: While circulation activity occurs, repeatedly view/print pull lists and perform live shelf reading/weeding
  - Measures: Time from transaction commit (e.g., check-in/out) to visibility in pull lists and shelf-reading views
  - Acceptance criteria: Data freshness threshold: [N/A]

- Dynamic performance: reporting during open hours without disruption
  - Related requirements: OE-1 (desirable); 5624; 2197; 5607; 5617
  - Verification method: contention testing running long-running queries/reports concurrent with core transactions
  - Setup: Execute ad hoc and templated reports while circulation, cataloging, and patron updates run
  - Measures: Transaction latencies for core operations vs. baseline; report runtimes; error/timeout rates
  - Acceptance criteria: Maximum allowable latency increase and timeout rates: [N/A]

- Dynamic performance: log access without downtime
  - Related requirements: 2474; 2433
  - Verification method: non-intrusive observation and measurement
  - Setup: Continuously view and rotate large log files during peak workload
  - Measures: Impact on transaction latency/throughput while logs are read/rotated; log dashboard responsiveness
  - Acceptance criteria: Acceptable performance impact threshold: [N/A]

- Dynamic performance: live backups during operations
  - Related requirements: 6502
  - Verification method: backup concurrency and impact testing
  - Setup: Run incremental and full backups (e.g., via EMC NetWorker) during peak simulated hours
  - Measures: Throughput and latency of core transactions during backup; backup duration; backup error rates
  - Acceptance criteria: Maximum allowable impact on transaction performance; backup windows: [N/A]

- Dynamic performance: job scheduling under load
  - Related requirements: 6507; 6508; 6521
  - Verification method: scheduler throughput and latency tests
  - Setup: Queue chained and parallel jobs (imports, exports, reports, maintenance) during heavy interactive load
  - Measures: Job dispatch latency, completion times, sequencing correctness, preemption behavior
  - Acceptance criteria: Dispatch and completion time bounds: [N/A]

- Dynamic performance: system monitoring and alerting timeliness
  - Related requirements: 6501; 2467
  - Verification method: stimulus-response timing tests
  - Setup: Induce resource threshold crossings (CPU, memory, disk, ports) under load
  - Measures: Time from threshold breach to alert delivery via dashboard, email, and text; false positive/negative rates
  - Acceptance criteria: Alert delivery time and reliability thresholds: [N/A]

- Dynamic performance: server startup/shutdown responsiveness
  - Related requirements: 2466
  - Verification method: operational timing measurements
  - Setup: Measure application and server startup/shutdown/restart times in controlled conditions
  - Measures: Elapsed times to ready state; graceful shutdown durations
  - Acceptance criteria: Startup/shutdown time limits: [N/A]

- Dynamic performance: clustering and failover continuity
  - Related requirements: 2462
  - Verification method: failover testing during active transactions
  - Setup: Induce node failure while running mixed workloads; observe failover behavior
  - Measures: Recovery time, transaction loss, client reconnection behavior, post-failover performance
  - Acceptance criteria: RTO/RPO and post-failover performance thresholds: [N/A]

- Dynamic performance: secure file transfer throughput
  - Related requirements: 6511; 6516; 6515
  - Verification method: throughput and resiliency tests
  - Setup: Execute SFTP (active and passive), SSL/TLS email delivery across varying file sizes and concurrency
  - Measures: Transfer throughput, retry rates on loss, CPU impact on hosts
  - Acceptance criteria: Minimum throughput and maximum retry/failure rates: [N/A]

- Dynamic performance: client software update streaming impact
  - Related requirements: 6504; 2430
  - Verification method: update distribution under load
  - Setup: Push client updates to selected machines via network tools while core workloads run
  - Measures: Server load, network utilization, transaction latency impact, session stability
  - Acceptance criteria: Acceptable performance impact thresholds: [N/A]

- Dynamic performance: query and export output generation
  - Related requirements: 5624; 2197; 2439; 2441; 2465
  - Verification method: execution-time measurement across output formats
  - Setup: Run complex queries, generate outputs to screen, print, email, CSV/Excel and other formats
  - Measures: Query execution time, time-to-first-byte for outputs, print job submission time
  - Acceptance criteria: Execution and output time limits by format: [N/A]

## 4.3 Usability requirements

This section defines how usability requirements will be verified. Each item references the source requirement(s) from the original SRS and outlines planned verification methods, evidence, and acceptance criteria. Quantitative targets for effectiveness, efficiency, and satisfaction are not specified in the original SRS; where applicable, such targets are [N/A].

- OE-5 Accessibility (screen readers, magnification, assistive software)
  - Verification methods: Assistive technology compatibility testing (screen-reading, screen-magnification, keyboard-only navigation), focus order and labeling review, contrast/zoom checks in supported clients.
  - Evidence: Test checklist and results, defect reports, screenshots/video captures.
  - Acceptance: All administrative functions are operable with screen-reading and magnification software and without a pointing device; no critical tasks blocked by accessibility defects; quantitative targets [N/A].

- OE-3/OE-4 Browser/client access (web-browser or Windows client; IE ≥ 6.0, Firefox ≥ 2.0)
  - Verification methods: Cross-browser/client usability checks of representative admin tasks; layout and control rendering inspection.
  - Evidence: Test matrix with pass/fail per task and client, defect logs.
  - Acceptance: No loss of function or unusable layouts on stated clients; quantitative targets [N/A].

- UD-3 Online help system (hierarchical, cross‑linked, HTML, describes and illustrates all functions)
  - Verification methods: Documentation coverage review mapped to feature inventory; link integrity scan; findability tests for context-relevant help from key screens.
  - Evidence: Coverage matrix, link scan report, task outcomes.
  - Acceptance: Help exists for all functions, is hierarchical and cross‑linked, opens from relevant contexts; quantitative targets [N/A].

- Req 2428 System documentation (library-specific, versioned, web-based, indexed, searchable)
  - Verification methods: Heuristic review of documentation structure; search/findability tasks for specified topics; version audit.
  - Evidence: Review checklist, search logs, doc version records.
  - Acceptance: Documentation matches deployed version, is indexed and searchable with successful retrieval of sampled topics; quantitative targets [N/A].

- Req 2431 System upgrade guidelines (new/changed/removed features)
  - Verification methods: Content completeness review against release notes and implemented changes; user comprehension spot checks.
  - Evidence: Traceability checklist, reader feedback.
  - Acceptance: Guidelines enumerate all new/changed/removed features in the release; quantitative targets [N/A].

- Req 5624 Query tool (user-friendly GUI with picklists, regex dropdown, Boolean operators; admin-controlled field access)
  - Verification methods: Scenario-based usability tests to build specified queries without SQL; inspection for presence of GUI controls; clarity of permission-related messaging.
  - Evidence: Task completion records, screenshots, error/message captures.
  - Acceptance: Participants complete sample queries using GUI controls; required controls present; access limitations communicated clearly; quantitative targets [N/A].

- Req 2197 Report format and output (customizable layout; display/print/email/save to CSV/Excel and customizable formats)
  - Verification methods: Task-based tests to customize layout and output via each channel; format conformance checks.
  - Evidence: Generated outputs, task results, defect logs.
  - Acceptance: Users can customize and produce reports through each supported channel and format; quantitative targets [N/A].

- Req 5607 Report templates (admin-created, discoverable, runnable and modifiable by staff)
  - Verification methods: Discovery and reuse tasks; modification and save-as workflow tests.
  - Evidence: Task outcomes, template inventory before/after.
  - Acceptance: Staff locate, run, and modify provided templates; quantitative targets [N/A].

- Req 5617 Reports permissions (fine-grained)
  - Verification methods: Permission scenario tests; evaluation of denial/insufficient privilege messages for clarity and guidance.
  - Evidence: Access control test results, message captures.
  - Acceptance: Users only see or can run authorized reports; denial messages are understandable and actionable; quantitative targets [N/A].

- Req 2441/2439 Printing and output options (printer types; print to file/FTP/email/printer; select fields and order)
  - Verification methods: End-to-end output tasks across all destinations; UI tests for field selection and ordering.
  - Evidence: Printed artifacts/files, task logs, defect reports.
  - Acceptance: Users complete outputs to all destinations and control field selection/order; quantitative targets [N/A].

- Req 6520/2467/2464/2433/6501/6503 Dashboards (custom creation, indicators, scope by branch, log and performance views, alerts)
  - Verification methods: Tasks to create dashboards, apply filters/scopes, interpret indicators, locate logs; alert configuration and acknowledgement tests.
  - Evidence: Saved dashboards, task outcomes, screenshots, alert notifications.
  - Acceptance: Users create and interpret dashboards and configure alerts without assistance; quantitative targets [N/A].

- Req 2220 Keyboard macros and shortcuts (admin/user programmable, centrally managed, import/export, permissions)
  - Verification methods: Creation, assignment, import/export tasks; conflict handling and permission boundary checks.
  - Evidence: Macro definitions, audit records, task logs.
  - Acceptance: Macros/shortcuts created, shared, and enforced by permissions; conflicts surfaced with clear guidance; quantitative targets [N/A].

- Req 2420/2419 Account setup UIs (staff/patron templates, validation, required fields, defaults)
  - Verification methods: Task-based tests to create accounts using templates; validation and error messaging review; default application checks.
  - Evidence: Created records, error messages, task timings.
  - Acceptance: Users create valid accounts with clear guidance; required fields enforced; sensible defaults applied; quantitative targets [N/A].

- Req 5323/6513/7302 Concurrency and record locks (simultaneous access, change prompts, identify/resolve locks)
  - Verification methods: Multi-user simulations; observation of change-conflict prompts; lock listing and unlock tasks.
  - Evidence: Session logs, screenshots, task outcomes.
  - Acceptance: Change conflicts are clearly communicated with safe resolution paths; staff can discover and release stale locks; avoidance of harm (data loss) demonstrated; quantitative targets [N/A].

- Req 5615 Real-time processing feedback (up-to-date lists, live shelf reading/weeding support)
  - Verification methods: Time-of-view checks for pull lists and similar artifacts; side-by-side validation against ground truth.
  - Evidence: Timestamps, comparison logs.
  - Acceptance: On-view/print artifacts reflect current state without stale data presented to users; quantitative targets [N/A].

- Req 6517 Configuration file console (single console; per-file read/write permissions)
  - Verification methods: Navigation and discoverability tasks; permission-bound tests on specific files; edit/save/rollback checks.
  - Evidence: Task results, access logs, edited files.
  - Acceptance: Users locate and edit authorized configuration files from a single console; unauthorized edits are blocked with clear feedback; quantitative targets [N/A].

- Req 6521/6507/6508 Job scheduling consoles (single interface; sequence dependencies; manage others’ jobs)
  - Verification methods: Scheduling tasks including dependencies, modification/cancellation prior to start; management of jobs created by others.
  - Evidence: Job histories, UI captures, task outcomes.
  - Acceptance: Users successfully schedule and manage jobs as permitted; dependencies honored; quantitative targets [N/A].

- Req 6515 Email configuration (quick menu of common settings)
  - Verification methods: Task-based tests to locate and apply common settings; rollback/restore checks.
  - Evidence: Configuration snapshots, task logs.
  - Acceptance: Users adjust common settings via quick menu without expert guidance; quantitative targets [N/A].

- Req 2430 Client management console (list clients, kill sessions)
  - Verification methods: Discovery and control tasks; confirmation of session termination and user-facing messaging.
  - Evidence: Session lists before/after, audit logs.
  - Acceptance: Administrators locate active clients and end sessions reliably with clear confirmation; quantitative targets [N/A].

- Req 6518 Record sets (import/export members; batch updates; scoped queries; review-before-delete; error logs; undo deletions)
  - Verification methods: End-to-end tasks to build sets, perform batch operations, review and undo actions; error handling review.
  - Evidence: Operation logs, before/after data snapshots, task outcomes.
  - Acceptance: Users complete batch operations with clear preview and undo to avoid harm; quantitative targets [N/A].

- Req 2465 Record number report (visibility by user/group)
  - Verification methods: Access control checks; comprehension checks for presented counts.
  - Evidence: Report outputs under different roles, access logs.
  - Acceptance: Authorized users view accurate counts; unauthorized access blocked with clear messaging; quantitative targets [N/A].

## 4.5 Logical database requirements

This section defines the verification approaches and methods to qualify the software against logical database requirements, organized in parallel with the recommended information items.

- a) Types of information used by various functions
  - Document review: Validate the provided data specifications for all record types against UD-1 (authority, bibliographic, order, item, hold/request, patron, invoice, etc.).
  - Functional demonstration: Import/export MARC bibliographic and authority records and verify correct persistence of all/selected fields, overlays, and batch handling (REQ-1716).
  - Reporting confirmation: Run the “record number report” to confirm existence and counts for each record type (current number, deleted, purged) (REQ-2465).
  - Rule linkage checks: Execute loan rules, requesting rules, and suppression rules to confirm the involved entities (patron, item, bibliographic, order) are present and referenced by those functions (REQ-5057, REQ-5190, REQ-5278).
  - Set operations: Create and use record sets as the basis for batch updates/deletes and as query scopes; verify membership export/import (REQ-6518).

- b) Frequency of use
  - Real-time behavior test: Verify that operational outputs (e.g., pull lists) are up-to-date at viewing/printing time to substantiate real-time processing (REQ-5615).
  - Concurrency test: Simultaneous access/update of the same patron/item records from multiple staff clients, self-checks, and OPAC/SIP2/NCIP endpoints; verify consistent outcomes and conflict prompts (REQ-5323).
  - Lock behavior test: Induce sustained-use/locked conditions, confirm lock visibility (who/where/when) and administrative unlock capability, and validate lock duration thresholds (REQ-6513, REQ-7302).

- c) Accessing capabilities
  - Direct access: Connect via ODBC and run SQL queries against representative tables to confirm “all data tables and storage are fully accessible” (REQ-6512).
  - Query tool: Design and run queries using the UI to confirm field selection, picklists, regex options, Boolean operators, and admin control of table/field access (REQ-5624).
  - Reporting and export: Generate reports and verify output formats (CSV, Excel, customizable) and destinations (display/print/email/save) (REQ-2197, REQ-2439).
  - Permissions: Validate fine-grained permissions for running specific/ad hoc reports and table/field access restrictions in the query tool (REQ-5617, REQ-5624).
  - Scoping: Use record sets to limit query/report scope and confirm expected results (REQ-6518).

- d) Data entities and their relationships
  - Schema conformance review: Inspect the logical data model/data dictionary against UD-1 and confirm presence of key entities (patron, bibliographic, authority, item, order, invoice, hold/request) and expected relationship linkages implied by rules and processes (e.g., item-to-bibliographic, hold-to-patron/item) (UD-1, REQ-5057, REQ-5190, REQ-5278, REQ-2465).
  - Key integrity checks: Verify that primary/foreign key relationships (as defined in the provided specifications) enforce correct linkage cardinalities and cascading behaviors during create/update/delete operations. [N/A if specific relationships are not provided in the supplied documentation.]

- e) Integrity constraints
  - Field-level constraints: Test default values, formatting, required fields, and validation rules for configurable fields across record types (REQ-5328). Use staff/patron account setup flows to validate templates, requireds, and defaults (REQ-2420, REQ-2419).
  - Business-rule enforcement: Attempt prohibited operations (e.g., delete checked-out items; delete bibs with holds) to confirm restrictions are enforced (REQ-2445).
  - Loan/request rules: Validate rule-driven outcomes for checkout/renewal/hold eligibility across criteria (patron type, balances, item type/status, owning/checkout location, open/closed schedule) and staff override behavior (REQ-5057, REQ-5190).
  - Concurrency integrity: Confirm prompts/warnings on stale views and reasonable application of concurrent changes; verify lock/undo behavior under contention (REQ-5323, REQ-6513, REQ-7302).
  - Change control: Validate logging of data changes and “undo”/revision control where available (REQ-6505).

- f) Security
  - Access control: Verify that roles/privileges govern visibility and operations on data, including full administrative visibility and control of user privileges (CO-4, REQ-2492, REQ-6509).
  - Data visibility rules: Confirm suppression rules restrict staff/patron visibility of authority, bibliographic, order, and item records per configuration (REQ-5278).
  - Reporting/query permissions: Validate that staff can/cannot run specific or ad hoc reports per assigned permissions and field/table access (REQ-5617, REQ-5624).
  - Data-in-transit protection: Test secure protocols for data access/transfer (SFTP active/passive, SSL/TLS, SSH) and verify patron data is protected in all transfers (REQ-6511, REQ-6510).
  - Auditability: Confirm availability of logs supporting security/audit needs during database access and administrative actions, without service interruption (REQ-2474).

- g) Data retention requirements
  - Backup/restore: Demonstrate live incremental/full backups of databases and transaction logs, including third-party tooling (e.g., EMC NetWorker) and a successful restore drill to an agreed recovery point (REQ-6502).
  - Rollback/revisions: Verify ability to undo data changes and, where provided, to use revision history to restore prior versions (REQ-6505).
  - Log retention: Configure and verify enable/disable and retention thresholds for log files; confirm viewing without service interruption (REQ-2474).
  - Purge accounting: Use the record number report to confirm tracking of deleted and purged counts by record type (REQ-2465).
  - Retention periods/policies: [N/A] (No explicit data retention durations or archival schedules are specified in the original SRS.)

## 4.6 Design constraints

This section defines the planned verification approaches for each design constraint specified in the requirements (see 3.6 Design constraints). Each item mirrors the corresponding constraint and identifies how compliance will be verified.

- CO-1: Fully relational database back-end
  - Verification methods:
    - Inspection: Verify the selected DBMS is a relational engine and is configured as the system of record.
    - Analysis: Review the logical/physical data model to confirm use of relational constructs (tables, keys, constraints) and referential integrity.
    - Test: Execute representative SQL operations (joins, transactions, constraint enforcement) across key record types to confirm relational behavior.
  - Evidence: DBMS identification, data model review report, executed SQL test results.

- CO-2: Standards-compliant HTML
  - Verification methods:
    - Test: Validate representative pages (all major views and forms) using W3C HTML validators; confirm zero critical validation errors.
    - Inspection: Review build/config to ensure no non-standard markup generation is enabled.
    - Regression test: Re-run validation on a release candidate to confirm continued compliance after UI changes.
  - Evidence: Validator reports, defect logs and fixes, release validation summary.

- CO-3: Development and training environment with migration to production
  - Verification methods:
    - Demonstration: Stand up development and training environments separate from production and show isolation (e.g., distinct URLs, databases, and configurations).
    - Test: Perform end-to-end migration of representative configurations from development/training to production in a controlled scenario; verify outcomes and no unintended side effects.
    - Inspection: Review documented migration procedures, roles, approvals, and rollback steps.
  - Evidence: Environment inventory, migration runbook, migration execution logs, post-migration verification checklist.

- CO-4: User rights and privileges controlled via security groups/roles
  - Verification methods:
    - Test: Create roles/groups with distinct privileges; verify users inherit intended access; attempt authorized and unauthorized actions across modules.
    - Inspection: Review role/permission matrices and configuration to confirm least-privilege design and group-based assignment.
    - Regression test: Re-verify access control after role or module updates.
  - Evidence: Test cases and results, permission matrix review record, access audit logs showing enforcement.

## 4.7 Software system attributes

This section defines the verification approaches to qualify the software system attributes, using inspection, analysis, test, and demonstration. Each item traces to one or more requirements from the SRS for evidence and acceptance.

a) Reliability

- Concurrency and consistency (REQ-5323)
  - Method: Test
  - Procedure: Perform simultaneous updates to the same patron/item records from multiple staff and patron endpoints (including SIP2/NCIP2 and OPAC contexts). Include live check-in/check-out devices.
  - Acceptance: Concurrent access is supported; conflict prompts appear when a record has changed since display; final record state is consistent with last confirmed update.

- Record lock observability and control (REQ-6513, REQ-7302)
  - Method: Test and demonstration
  - Procedure: Induce long-held locks on multiple record types; review lock lists for location, user, date/time; adjust lock-duration thresholds; unlock selected records via console.
  - Acceptance: Lock locations/users/timestamps are visible; thresholds are enforced; individual and batch unlock succeed.

- Real-time processing freshness (REQ-5615)
  - Method: Test
  - Procedure: Execute circulation and hold-request transactions; immediately view/print pull lists and perform live shelf reading/weeding.
  - Acceptance: Lists and views reflect current transactions at time of viewing/printing as specified.

- Change logging and rollback (REQ-6505)
  - Method: Test
  - Procedure: Create, update, and delete records of each type; review logged changes; perform undo and, where available, revision control actions.
  - Acceptance: All changes are logged; undo restores prior state for covered operations.

- Monitoring and detection of failures/runaway processes (REQ-6501, REQ-2467)
  - Method: Test and analysis
  - Procedure: Configure alert thresholds for CPU, memory, disk, interfaces/ports; generate load to exceed thresholds; start a runaway process.
  - Acceptance: Dashboards identify affected processes; alerts trigger as configured.

- Backup integrity spot-check (REQ-6502)
  - Method: Test
  - Procedure: Run live incremental and full backups; restore to a staging environment.
  - Acceptance: Backup jobs complete successfully; restored data is usable.

b) Availability

- Failover clustering (REQ-2462)
  - Method: Test and demonstration
  - Procedure: Induce primary node failure; observe service continuity and client reconnection behavior.
  - Acceptance: Services fail over to secondary cluster members; committed transactions remain intact.

- Live backup operation (REQ-6502)
  - Method: Demonstration
  - Procedure: Execute incremental and full backups while the system is operational.
  - Acceptance: Backups complete without requiring system shutdown.

- System monitoring and alert delivery (REQ-6501)
  - Method: Test
  - Procedure: Configure thresholds and recipients; trigger alerts; verify delivery via dashboards, email, and text.
  - Acceptance: Alerts are generated at thresholds and delivered via each configured method to multiple recipients.

- Server/application control readiness (REQ-2466, REQ-2464)
  - Method: Demonstration
  - Procedure: Use server console to start/stop/restart software and server; review application dashboard status fields (backups, reboots, upgrades, versions, pending transactions, log sizes, record counts, database utilization).
  - Acceptance: Controls operate as specified; dashboard fields display current values.

- Job scheduling visibility and control (REQ-6521)
  - Method: Test
  - Procedure: Review, start, pause, reschedule, and cancel scheduled maintenance and integration tasks via the single interface.
  - Acceptance: All scheduled tasks are visible and controllable as specified.

c) Security

- Secure transfer of patron data in transit (REQ-6510, REQ-6511)
  - Method: Test and analysis
  - Procedure: Configure and exercise SSL and SSH/SFTP pathways; capture network traffic for patron operations and file transfers; verify encryption in transit; validate SFTP active and passive modes per vendor configuration.
  - Acceptance: Patron data is encrypted during transfer; SFTP works in both active and passive modes as configured.

- Privilege and role enforcement (REQ-6509, REQ-2492)
  - Method: Test and inspection
  - Procedure: Define roles/privileges; attempt authorized and unauthorized actions with individual and shared accounts.
  - Acceptance: Access is limited per assigned privileges; administrators have full visibility and control of user privileges.

- Field visibility and suppression (REQ-5323, REQ-5278)
  - Method: Test
  - Procedure: Verify staff can view all patron/item fields per privilege; verify patrons only see permitted fields; validate suppression rules across staff and OPAC interfaces.
  - Acceptance: Visibility rules are enforced as configured.

- Logging and configuration security (REQ-2474, REQ-6517)
  - Method: Test and inspection
  - Procedure: Enable/disable logs; set retention thresholds; view logs without stopping the system; confirm read/write permissions on configuration files by user/group via the configuration console.
  - Acceptance: Logging behavior and retention are configurable; only authorized users can modify configuration files.

- Controlled root shell access (REQ-2470, REQ-6509)
  - Method: Demonstration and inspection
  - Procedure: Validate that root shell is accessible through authorized administrative channels consistent with privilege controls.
  - Acceptance: Root access is available and limited to authorized administrative personnel.

- Data validation for critical fields (REQ-5328)
  - Method: Test
  - Procedure: Configure required/default values, formatting, and validation for representative fields; attempt to save invalid data.
  - Acceptance: Invalid data is rejected; defaults and formatting are applied as configured.

d) Maintainability

- Configuration file access and permissioning (REQ-2479, REQ-6517)
  - Method: Test and inspection
  - Procedure: Locate and edit configuration files via the single console; verify user/group read/write permissions.
  - Acceptance: All configuration files are accessible through the console; permissions function as configured.

- Log discovery and review (REQ-2433, REQ-2474)
  - Method: Demonstration
  - Procedure: Use log dashboard to locate and view logs; confirm logs are viewable without stopping the system; adjust retention.
  - Acceptance: Logs are discoverable, viewable live, and retention is configurable.

- Documentation and upgrade guidance (REQ-2428, REQ-2431)
  - Method: Inspection
  - Procedure: Review delivered documentation for library- and version-specific, web-based, indexed, searchable format; review upgrade notes for lists of new, changed, and removed features.
  - Acceptance: Documentation and upgrade guidelines meet specified characteristics.

- Dev/training environments and migration (CO-3)
  - Method: Test and demonstration
  - Procedure: Configure settings in development/training; migrate to production; compare results.
  - Acceptance: Migration succeeds with configurations preserved as expected.

- Client lifecycle management (REQ-2430, REQ-6504, REQ-6514, REQ-6519)
  - Method: Test and demonstration
  - Procedure: Display active client sessions; terminate targeted sessions; push client install/updates to selected workstations; manage clients via VNC/Remote Desktop where applicable; export/import server-based client configurations.
  - Acceptance: Client sessions and deployments are centrally managed; configurations are portable between clients.

- Job scheduling and delegation (REQ-6507, REQ-6508, REQ-6521)
  - Method: Test
  - Procedure: Schedule tasks and reports (including sequences); assign permissions to staff; verify system administrators can view/manage staff-scheduled jobs.
  - Acceptance: Scheduling, sequencing, and delegated management operate as specified.

- Macros and shortcuts management (REQ-2220)
  - Method: Test
  - Procedure: Create server-managed macros/shortcuts; assign shortcut keys; export/import to/from users; restrict use/edit via permissions.
  - Acceptance: Macro lifecycle and permissions function as specified.

- Record sets for batch maintenance (REQ-6518)
  - Method: Test
  - Procedure: Create record sets; perform batch field updates and deletions with pre-review, error logging, and undo; use sets to scope queries.
  - Acceptance: Record-set operations and safeguards operate as specified.

e) Portability

- Supported server operating systems (OE-2)
  - Method: Test and demonstration
  - Procedure: Install and operate the system on the targeted supported server OS (Linux or Solaris) per deployment plan.
  - Acceptance: Installation and core functions operate on the supported OS.

- Client access modes and browsers (OE-3, OE-4)
  - Method: Test
  - Procedure: Access System Administration via web browser and/or Windows-compatible client; verify browser compatibility with Microsoft Internet Explorer (v6.0+) and Mozilla Firefox (v2.0+), as applicable.
  - Acceptance: Interfaces load and function in the supported access modes and browsers.

- Standards-compliant HTML (CO-2)
  - Method: Analysis and inspection
  - Procedure: Validate representative administrative pages with an HTML standards validator; review and document any exceptions.
  - Acceptance: Pages validate as standards-compliant per requirement or documented exceptions are resolved.

- Database interoperability (REQ-6512)
  - Method: Test
  - Procedure: Connect to the relational database via ODBC; run read-only queries against representative tables; verify SQL query support.
  - Acceptance: ODBC access works and SQL queries execute as expected.

- Printing interoperability (REQ-2441, REQ-2439)
  - Method: Test
  - Procedure: Configure receipt, standard, label, and forms printers; print from multiple application areas; print to file/FTP/email where applicable.
  - Acceptance: All printer types and output options function; Windows printers are supported.

- Email transport (REQ-6516, REQ-6515)
  - Method: Test
  - Procedure: Configure SMTP and common email settings; send test messages.
  - Acceptance: SMTP transport and configuration operate as specified.

## 5.1 Assumptions and dependencies

Assumptions
- AS-1: The System Administration Module is part of an enterprise-level Library Automation System.
- AS-2: System Administration processes are consolidated at a central location and serve multiple locations.
- The requirements presuppose the general data structures and functionality of a full-fledged Integrated Library System (ILS).
- Operating scale and context match King County Library System: a large, multi-branch system (about 50 locations, ~20 million circulations annually, purchasing/processing over 500,000 items per year), with searches and reports expected to run during open hours without disrupting other functions.
- The operating environment is assumed to include Linux or Solaris servers, access via a web browser or a Windows-compatible client, browser support including Microsoft Internet Explorer (v6.0+) and Mozilla Firefox (v2.0+), and accessibility via screen-reading and magnification software.

Dependencies
- DE-1: Reliance on the data structures and functionality of an enterprise-level Library Automation System, including Acquisitions and Cataloging modules.
- DE-2: Interfaces with vendor websites via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).
- DE-3: Interaction with a patron interface (OPAC).

## 5.2 Acronyms and abbreviations

- ACQ — [N/A]
- API — Application Programming Interface
- AS — Assumptions
- CAP — [N/A]
- CIR — [N/A]
- CO — Design and Implementation Constraints
- CPU — [N/A]
- CSV — [N/A]
- DE — Dependencies
- EDIFACT — [N/A]
- EMC — [N/A]
- FTP — [N/A]
- HTML — [N/A]
- ILS — Integrated Library System
- IP — [N/A]
- ITS — [N/A]
- MARC — [N/A]
- MGT — [N/A]
- NCIP2 — [N/A]
- OCLC — [N/A]
- ODBC — [N/A]
- OE — Operating Environment
- OPAC — Online Public Access Catalog
- SFTP — [N/A]
- SIP2 — [N/A]
- SNMP — [N/A]
- SMTP — [N/A]
- SQL — [N/A]
- SRS — Software Requirements Specification
- SSH — [N/A]
- SSL — [N/A]
- UD — User Documentation
- USMARC21 — [N/A]
- VNC — [N/A]