# 1 Introduction
[NULL]

## 1.1 Purpose
This Software Requirements Specification (SRS) describes the functional and nonfunctional requirements for the System Administration Module of an Integrated Library System (ILS). The requirements were developed specifically for King County Library System, but are believed to be suitable for many large, urban, multiple-branch, centralized library systems.

## 1.2 Scope
- Product name: System Administration Module (part of an Integrated Library System).
- What the product will do:
  - Configure the ILS to enable and support features and processes required for management of library branches, patrons, collections, and circulation transactions.
  - Monitor, troubleshoot, and control server, database, application, services, ports, and API performance.
  - Manage user and group accounts and privileges.
  - Manage server and client software installation, upgrades, and updates.
  - Back up databases, configuration files, and log files.
  - Provide reporting, dashboards, and administrative consoles to operate and observe the system.
- Application and benefits:
  - Supports enterprise-level administration for a large, multi-branch library system.
  - Enhances and replaces current capabilities of commercially available ILSes, adding new functionality.
  - Enables centralized, controlled configuration and operations, improving reliability, efficiency, and staff effectiveness.
- Consistency:
  - The requirements presuppose the general data structures and functionality of a full-fledged ILS and are consistent with previously published specifications for other ILS modules.

## 1.3 Product overview
[NULL]

### 1.3.1 Product perspective
The System Administration Module is an element of a larger Integrated Library System. It relies on, and interfaces with, other ILS modules (e.g., Acquisitions, Cataloging, Circulation, patron-facing OPAC), vendor services, and standard protocols. It provides administrative capabilities across servers, databases, applications, and clients.

- System interfaces
  - Interfaces with other ILS modules and data structures, including Acquisitions, Cataloging, Circulation, and OPAC.
  - Interfaces with vendor websites and services via published APIs and automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).
  - Supports SIP2/NCIP2 and similar protocols and APIs for self-check and other integrations.
  - Supports SNMP for system monitoring.
  - Supports SMTP for email transport and alerting.
  - Supports secure protocols SFTP (active and passive modes, configurable per vendor), SSL, and SSH.

- User interfaces
  - Accessible through a web-browser or a Windows-compatible client.
  - If web-based, accessible through Microsoft Internet Explorer (v.6.0 and later) and Mozilla Firefox (v.2.0 and later).
  - Accessible with screen-reading software, screen-magnification software, and other software for increased accessibility.
  - Provides administrative dashboards, management consoles, and online, hierarchical, cross-linked help in HTML.

- Hardware interfaces
  - Operates on Linux or Solaris servers.
  - Supports output to multiple printer types: receipt, standard, label, and forms printers (all Windows printers supported).

- Software interfaces
  - Fully relational, SQL-based database with ODBC access; ability to run SQL queries against any table.
  - Supports MARC bibliographic and authority record import/export with vendors including OCLC.
  - Client management can interoperate with VNC and Remote Desktop tools for administration.

- Communications interfaces
  - SNMP for monitoring.
  - SMTP for email transport.
  - SFTP (active/passive), SSL, SSH for secure file and session transport.
  - Alerts can be sent via administrative dashboards, email, and text messages.

- Memory constraints
  - [N/A]

- Operations
  - Supports live, real-time processing (e.g., pull lists up to date at viewing/printing; live shelf reading and weeding).
  - Allows searches and reports to be processed during open hours without disrupting other functions.
  - Provides dashboards for performance, circulation KPIs, logs, and applications.
  - Provides scheduling and management of jobs such as reports, imports/exports, backups, and updates.
  - Supports live incremental and full backups, rollback/undo of data changes, and optional revision control.
  - Supports failover via server clustering.

- Site adaptation requirements
  - Allows creation and modification of local business rules (loan, requesting, and suppression rules) and data validation/defaults for fields.
  - Supports configurable templates and defaults for patron and staff account creation.
  - User rights and privileges are controlled through security groups and/or roles, assignable to individuals, workgroups, and arbitrary staff groups.

- Interfaces with services
  - Interfaces with vendor services via APIs and data exchange standards (e.g., USMARC21, EDIFACT).
  - Interacts with OPAC for public access and visibility controls.

### 1.3.2 Product functions
- System configuration and control across servers, databases, applications, services, ports, and APIs.
- Real-time processing for circulation-related operations and record sharing.
- Access to configuration files, log files, and root shell for administration.
- Dashboards and consoles for system performance, application status, circulation KPIs, logs, records/locks, client sessions, and job scheduling.
- Business rule management: suppression, requesting, loan rules; field defaults, validation, formatting, and required status.
- Data recovery: backups (full/incremental and transaction logs), rollback and revision control, server clustering.
- Security and protocols: patron data security, secure transfer and session protocols; administration of user account privileges.
- Maintenance tools: MARC import/export; record sets; staff and patron account setup; job scheduling and permissions; macros and shortcuts.
- Client management: independent accounts from workstations; centralized client updates and configurations.
- Queries and reports: user-friendly query tool, report templates and permissions; report output and printing options (including printer types and destinations).
- Documentation: system documentation, upgrade guidelines, and online help.

### 1.3.3 User characteristics
- Patrons: Customers of the library system, with or without a library card, on-site or remote, using print, media, or electronic resources.
- Staff: Managers, librarians, library technicians, library assistants, and pages involved in designing and providing services.
- System Administrators: Staff responsible for managing servers, databases, applications, services, ports, and APIs related to the ILS.
- Managers: Management staff who oversee Library processes.
- Library Managers: Cluster and Site Managers providing input to service design and implementation.
- Library Directors: Members of the Library Executive Team who plan and direct Library services and priorities.

It is assumed the audience has a general understanding of Library services and processes.

### 1.3.4 Limitations
- Must support a large, multiple-branch library system: 50 locations, 20 million circulations, and purchasing/processing over 500,000 items per year.
- Operates on Linux or Solaris servers.
- Accessible via web browsers (IE 6.0+ and Firefox 2.0+) or a Windows-compatible client.
- Must be accessible with assistive technologies (screen readers, magnifiers).
- Requires a fully relational database back-end and production of standards-compliant HTML.
- Requires environments for development and training with migration to production.
- User rights and privileges controlled through groups/roles.
- Centralized operations accepting input and providing services to multiple locations.

## 1.4 Definitions
- System Administration Module: The administrative component of the ILS that manages configuration, monitoring, control, user and privilege management, software maintenance, backups, dashboards, and reporting.
- Integrated Library System (ILS): An enterprise-level library automation system providing modules for acquisitions, cataloging, circulation, patron services, and administration.
- OPAC (Online Public Access Catalog): The patron interface to the ILS for discovering and interacting with library resources.
- Patron: A customer of the Library System, either possessing a library card or not, using print, media, or electronic resources, on-site or remote.
- Staff: Managers, librarians, library technicians, library assistants, and library pages involved in library services.
- System Administrators: Staff managing servers, databases, applications, services, ports, and APIs related to the ILS.
- Managers: Management staff overseeing library processes.
- Library Managers: Cluster and Site Managers who provide input to the design and implementation of library services.
- Library Directors: Library Executive Team members who plan and direct services and priorities.

# 2 References
- Previously published specifications for Acquisitions and Serials Management, Circulation, and Cataloging modules. [N/A]
- Requirements for OPAC and web services currently under development. [N/A]
- USMARC21 standard. [N/A]
- EDIFACT standard. [N/A]
- SIP2 protocol. [N/A]
- NCIP2 protocol. [N/A]
- OCLC services. [N/A]
- EMC NetWorker backup software. [N/A]
- Microsoft Internet Explorer v6.0+. [N/A]
- Mozilla Firefox v2.0+. [N/A]
- VNC and Remote Desktop tools. [N/A]

Compliance and sourcing details for the above references are [N/A].

# 3 Requirements
[NULL]

## 3.1 Functions
- Systems: General
  - Priority: 3; Req ID: 6512; Name: SQL-based database
    - Description: System runs on a fully relational, SQL-based database system. Ability to run SQL queries against any table in the database. Ability to access database as an ODBC source. All data tables and data storage are fully accessible.
    - Related Reqs: 2456 2475; Source: ITS
  - Priority: 3; Req ID: 5615; Name: real-time processing
    - Description: The system provides real-time processing. For example: pull lists are up to date at time of viewing or printing; system supports live shelf reading and weeding.
    - Related Reqs: [N/A]; Source: MGT
  - Priority: 3; Req ID: 5323; Name: field and record sharing
    - Description: Ability for multiple staff members and patrons to simultaneously access and update patron and item records, including on staff check-in and check-out terminals, on self check-out stations, through SIP2/NCIP2 and similar protocols and APIs, and in OPAC. Depending on assigned privileges, staff can view all patron and item fields; patrons can access only selected fields. Record changes are applied in a reasonable way, with prompts to warn when a record has been changed since it was displayed.
    - Related Reqs: [N/A]; Source: CIR
  - Priority: 3; Req ID: 6513; Name: record lock management
    - Description: For any patron record or item record, staff can identify where it is in use (location, user, date and time placed).
    - Related Reqs: 6501 7302; Source: ITS
  - Priority: 2; Req ID: 2492; Name: individual and shared staff login accounts
    - Description: Support for individual and shared staff login accounts; access to modules is granted by use of roles or privileges that allow each account to access as many (or as few) modules as needed. Individual logins allow user-level preferences and audit trail.
    - Related Reqs: 5514; Source: ACQ
  - Priority: 3; Req ID: 2428; Name: system documentation
    - Description: System documentation is library-specific and follows standard formats for technical documentation. Documentation is specific to the particular version of the software in use at library. Documentation is web-based, indexed, organized by function, and easily searchable.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2431; Name: system upgrade guidelines
    - Description: System upgrades and updates include written guidelines for updating servers and clients. Includes list of new, changed, and removed features.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2479; Name: configuration file access
    - Description: System provides access to all configuration files.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2474; Name: log file access
    - Description: System provides full access to all log files. Log files can be reviewed without stopping system. Logs can be enabled, disabled, and set to a specific retention threshold.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2470; Name: root shell access
    - Description: System provides access to root shell.
    - Related Reqs: [N/A]; Source: ITS

- Systems: Consoles and Dashboards
  - Priority: 3; Req ID: 6520; Name: dashboard configuration
    - Description: System supports creation of custom dashboards that display current and historical data about system performance, record creation and modification, circulation transactions, etc. Administrators can create dashboards and give access to selected users and groups.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6501; Name: system monitoring
    - Description: System provides full support for SNMP and supports monitoring of system resources, including disk space, CPU load, memory load, system processes, system interfaces and ports. Alert thresholds are configurable. Alerts can be sent via administrative dashboards, email messages, and text messages. Alerts can be sent to unlimited number of recipients via any or all alert methods.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 7302; Name: record lock administration
    - Description: Ability to set thresholds on the length of time records are locked and provide, for all record types, a list of records in sustained use/locked condition. Ability from the same console to unlock one or more records.
    - Related Reqs: 6513; Source: ITS
  - Priority: 3; Req ID: 2467; Name: system performance dashboard
    - Description: System provides dashboard of performance monitoring and management tools. Identification of processes with process ID, owner username, IP address (if applicable), CPU utilization, memory utilization, run time. Runaway processes are identified. System status is represented by visual indicators (e.g., green and red lights).
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2466; Name: server console
    - Description: System provides a server management console including: software shutdown utility, software startup utility, server shutdown utility, server restart utility.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2464; Name: application dashboard
    - Description: System provides an administrative dashboard displaying: last full and incremental backup; last planned and unplanned system reboot; last software upgrade; current software version; transactions waiting to be processed; size of log-files; current count of records by record type (item, bibliographic, patron etc), database utilization (size, processes running).
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2430; Name: client management console
    - Description: System provides a management console displaying workstations running client software; workstation name and IP address; and utilities for managing and killing client sessions.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6503; Name: circulation dashboard
    - Description: System provides a circulation dashboard showing key performance indicators such as check-outs per hour, check-ins per hour, holds placed per hour, holds paged per day, etc. Indicators can be limited to a single branch or set to systemwide.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6517; Name: configuration file console
    - Description: System provides a single console with access to all configuration files. Read and write permission to individual configuration files can be assigned to users and groups.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2433; Name: log-file dashboard
    - Description: System provides a dashboard for locating and viewing log files.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6521; Name: job scheduling console
    - Description: System provides a single interface for reviewing and controlling scheduled tasks, including staff-scheduled tasks, automated reports, scheduled imports and exports, software updates, etc.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6515; Name: email configuration
    - Description: Ability to access and edit email configuration, including a quick menu of common settings (such as masquerading, log retention, bounce management).
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6516; Name: SMTP support
    - Description: System supports SMTP for email transport.
    - Related Reqs: [N/A]; Source: ITS

- Systems: Business Rules
  - Priority: 3; Req ID: 2445; Name: business rules
    - Description: System supports restrictions based on business rules, e.g. restrictions on deleting item records that are in checked-out status, or restrictions on deleting bibliographic records with existing holds.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 5278; Name: suppression rules
    - Description: System provides customizable Rules of Suppression that specify whether patrons and staff can view authority, bibliographic, order, and item records in staff and public (OPAC) interfaces. Records may be visible to specific workgroups only; to all staff and patrons at specific locations; or to all staff and all patrons. (See REQ-5057 for related requirements on loan rules, and REQ-5190 for related requirements on holdability.)
    - Related Reqs: 5057 5190 580; Related Process: CAT180; Source: CIR
  - Priority: 3; Req ID: 5190; Name: requesting rules
    - Description: System allows creation and modification of requesting rules that determine whether a patron can place a hold on an item. Requesting rules may evaluate patron type, current number of holds, current patron account balance, item type, item status, owning location code, and other criteria. For example, requesting rules may prohibit patrons from placing holds on on-order CD titles, but allow patrons to place holds on other on-order titles. Requesting rules also specify whether staff with specific privileges or roles can override specific criteria. (See REQ-5057 re loan rules, REQ-5278 re visibility.)
    - Related Reqs: 5057 5278; Related Process: HOL-011; Source: CIR
  - Priority: 3; Req ID: 5057; Name: loan rules
    - Description: System allows creation and modification of loan rules that allow or disallow check-out of items, calculate loan periods, and determine renewal limits. Loan rules may evaluate patron type, current number of items checked out, current patron account balance, item type, item status, owning location code, check-out location code, and other criteria. For example, loan rules may prohibit patrons from checking out items with an unavailable status, e.g. an item with a triggered hold for another patron or an item that is already checked out to another patron. Loan rules can access check-out location open/closed schedule in calculating due date. Loan rules also specify whether a specific criteria may be overridden by staff with specific privileges or roles. (Also see REQ-5190 re requesting rules.)
    - Related Reqs: 5190; Related Process: HOL-131; Source: CIR
  - Priority: 3; Req ID: 5328; Name: data validation
    - Description: Ability to specify default value, data validation, automatic formatting, and required status for any field.
    - Related Reqs: [N/A]; Source: CIR

- Systems: Data Recovery
  - Priority: 3; Req ID: 6502; Name: system backup
    - Description: System provides capability to perform live incremental and full backups of data and transaction logs. System supports use of third-party backup software such as EMC NetWorker.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6505; Name: data rollback
    - Description: System logs data changes (such as record deletions) and provides undo functionality. Ideally, system provides revision control.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2462; Name: server clustering
    - Description: Ability to cluster servers for failover capability.
    - Related Reqs: [N/A]; Source: ITS

- Systems: Security
  - Priority: 3; Req ID: 6510; Name: patron data security
    - Description: Patron data is secure in all transfers to and from the system.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6509; Name: user account privileges
    - Description: System administrative staff has full visibility and control of user privileges.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6511; Name: secure protocol support
    - Description: System supports secure protocols, including SFTP, SSL, and SSH. SFTP is supported in both active and passive modes, configurable per vendor.
    - Related Reqs: [N/A]; Source: ITS

- Systems: Maintenance
  - Priority: 3; Req ID: 1716; Name: MARC import/export
    - Description: MARC bibliographic and authority records can be imported and exported, singly and in batch, all fields or selected fields, to and from vendors including OCLC. Imported records can overlay existing short or full bibliographic records. Imported batches can be maintained and manipulated as selection lists (see REQ-3004).
    - Related Reqs: 3004; Related Process: CAT180; Source: CAP
  - Priority: 3; Req ID: 6518; Name: record sets
    - Description: System supports an unlimited number of record sets, with the ability to import and export set members in batch. Record sets can be the basis for batch field updates; can be used as a limiting scope for queries; can be used to delete original records with the ability to review prior to deletion, write errors to a log file, and undo one or more deletions.
    - Related Reqs: 2204; Source: ITS
  - Priority: 3; Req ID: 2420; Name: staff account setup
    - Description: System provides a dedicated interface for creating new staff accounts. New staff account creation process provides configurable templates for account administrator use; provides granular privileges for account creation, modification, and deletion.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2419; Name: patron account setup
    - Description: System provides a dedicated interface for creating new patron accounts. Patron account creation process provides configurable templates for staff use; supports field validation and required fields; provides configurable defaults.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6507; Name: job scheduling
    - Description: System supports scheduling of maintenance tasks, reports, and data exports. Jobs can be scheduled in sequence (start job B when job A finishes) and can be modified or cancelled at any time prior to starting.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6508; Name: job scheduling: management
    - Description: Staff can be given permission to schedule tasks, reports, and data exports. System administration staff can view and manage jobs scheduled by other staff.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2220; Name: keyboard macros and shortcuts
    - Description: System supports administrator-programmable and user-programmable macros and/or keyboard shortcuts. Shortcut keys may be assigned to macros (e.g., Insert Field) or to text strings. Macros are centrally managed on server, can be imported from and exported to individual users, and can be restricted for use and/or editing through centrally-managed permissions.
    - Related Reqs: [N/A]; Source: ACQ

- Systems: Client Management
  - Priority: 3; Req ID: 6514; Name: accounts independent from workstation
    - Description: Staff and group accounts are independent from workstations; client install should not be tied to a specific location.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 6504; Name: client software updates
    - Description: Client software installation and updates must be centrally managed, using standard or proprietary network management tools, allowing streaming updates from server. Ability to specify specific clients to be updated. Client software can be managed with VNC and Remote Desktop.
    - Related Reqs: 2430; Source: ITS
  - Priority: 3; Req ID: 6519; Name: client configurations
    - Description: All client configuration files are server based; configurations can be exported and imported between clients.
    - Related Reqs: [N/A]; Source: ITS

- Systems: Queries and Reports
  - Priority: 2; Req ID: 2197; Name: report format and output
    - Description: Ability to fully customize layout and appearance of reports. Ability to display, print, email, or save report to standard formats including CSV and Excel, as well as to customizable formats.
    - Related Reqs: [N/A]; Source: ACQ
  - Priority: 3; Req ID: 5624; Name: query tool
    - Description: System provides a user-friendly interface for designing queries against all record types. Staff can select fields to query; select values from picklist of possible values; select regular expressions from drop-down menu, and use a full range of Boolean operators. Administrators control staff access to tables and fields.
    - Related Reqs: [N/A]; Source: MGT
  - Priority: 3; Req ID: 5607; Name: report templates
    - Description: System administrators can create report templates that are available to front-line staff, and can be run as is or modified to the staff person's particular needs.
    - Related Reqs: [N/A]; Source: MGT
  - Priority: 3; Req ID: 5617; Name: reports permissions
    - Description: System provides fine-grained permissions to allow or disallow staff to run specific reports, and/or to run ad hoc reports on specific sets of data.
    - Related Reqs: [N/A]; Source: MGT
  - Priority: 3; Req ID: 2465; Name: record number report
    - Description: System reports for each record type: current record number, current number of records, number deleted, and number purged. Record types include patron, bibliographic, item, order, invoice, etc. Access to record numbers is controlled at the user/group level.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2441; Name: printer support
    - Description: Ability to define and select four types of printers: receipt printer, standard printer, label printer, and forms printer. All Windows printers are supported.
    - Related Reqs: [N/A]; Source: ITS
  - Priority: 3; Req ID: 2439; Name: multiple print output options
    - Description: Ability to print to a file on the server, ftp, email, or printer from any part of the application. When applicable, the ability to select record fields and control order of fields when printing.
    - Related Reqs: [N/A]; Source: ITS

## 3.2 Performance requirements
- Capacity and scale
  - Support a library system with 50 locations.
  - Support 20 million circulations.
  - Support purchasing and processing over 500,000 items per year.
- Processing characteristics
  - Provide real-time processing (e.g., pull lists up to date at time of viewing or printing; support live shelf reading and weeding). (Req ID: 5615)
  - Allow searches and reports to be processed during open hours without disrupting other system functions.
- Concurrency
  - Support simultaneous access and updates to patron and item records by multiple staff and patrons, across staff terminals, self-check stations, SIP2/NCIP2 integrations, and OPAC, with reasonable conflict handling and prompts when records have changed. (Req ID: 5323)
- Monitoring and alerting throughput
  - Alerts can be sent to an unlimited number of recipients via any or all methods (dashboards, email, text). (Req ID: 6501)

## 3.3 Usability requirements
- Accessibility
  - Accessible with screen-reading software, screen-magnification software, and other assistive technologies.
- Help and documentation
  - Provide an online, hierarchical, cross-linked help system in HTML describing and illustrating all system functions.
  - Provide library-specific, version-specific, web-based, indexed, function-organized, searchable documentation and upgrade guidelines.
- Efficiency aids
  - Support administrator-programmable and user-programmable macros and keyboard shortcuts, centrally managed with import/export and permission controls. (Req ID: 2220)
- Printing usability
  - Support receipt, standard, label, and forms printers; support printing to file, FTP, email, or printer; allow selection and ordering of fields when printing.

## 3.5 Logical database requirements
- Data types and entities
  - Authority records, bibliographic records, order records, item records, hold/request records, patron records, invoice records, and other records maintained or accessed by the module.
- Access and querying
  - Ability to run SQL queries against any table; database accessible as an ODBC source; all tables and storage fully accessible. (Req ID: 6512)
  - User-friendly query tool over all record types with Boolean, regex, picklists, and admin-controlled access to tables/fields. (Req ID: 5624)
- Concurrency and integrity
  - Simultaneous access and updates with prompts on change detection; record lock visibility (who/where/when) and lock administration (timeouts and unlocks). (Req IDs: 5323, 6513, 7302)
- Validation and defaults
  - Specify default values, data validation, automatic formatting, and required status for any field. (Req ID: 5328)
- Data sets and batch operations
  - Support record sets for batch import/export, batch updates, scoped queries, deletions with review, error logs, and undo. (Req ID: 6518)
- Import/export
  - MARC bibliographic and authority import/export (single and batch), field selection, overlays, selection list handling; support vendors including OCLC. (Req ID: 1716)
  - Interfaces for standard data formats (USMARC21, EDIFACT).
- Security and retention
  - Patron data secure in all transfers; secure protocols (SSL/SSH/SFTP) for data movement. (Req IDs: 6510, 6511)
  - Log files enable/disable and retention thresholds configurable. (Req ID: 2474)

## 3.6 Design constraints
- Database
  - Fully relational database back-end. (CO-1)
- Web content
  - Produce standards-compliant HTML. (CO-2)
- Environments
  - Provide development and training environments with configuration migration to production. (CO-3)
- Security model
  - User rights and privileges controlled through security groups and/or roles for individuals, workgroups, and arbitrary staff groups. (CO-4)
- Operating systems and clients
  - Operate on Linux or Solaris servers. (OE-2)
  - Accessible via web-browser (IE 6.0+ and Firefox 2.0+) or a Windows-compatible client. (OE-3, OE-4)
- Accessibility
  - Accessible with assistive technologies (screen readers, magnifiers, etc.). (OE-5)

## 3.7 Software system attributes
- Reliability
  - Live backups (incremental and full), transaction log backups; rollback/undo for data changes; optional revision control. (Req IDs: 6502, 6505)
- Availability
  - Server clustering for failover capability. (Req ID: 2462)
- Security
  - Patron data security in transfer; secure protocols SFTP (active/passive), SSL, SSH; administrative visibility and control over user privileges. (Req IDs: 6510, 6511, 6509)
- Maintainability
  - Centralized client software installation and streaming updates; server-based client configurations with import/export; access to configuration and log files; root shell access; dashboards and consoles for monitoring and administration; system documentation and upgrade guidelines. (Req IDs: 6504, 6519, 2479, 2474, 2470, 2467, 2466, 2431, 2428)
- Portability
  - Web-based access supporting multiple browsers and Windows-compatible clients; ODBC access for database interoperability. (OE-3, OE-4, Req ID: 6512)

## 3.8 Supporting information
- Document conventions
  - Requirements include references to process flowcharts where appropriate. Flowcharts indicate the current approach at King County Library System and provide context; they are not prescriptive.
- User documentation
  - Provide complete data specifications for authority, bibliographic, order, item, hold/request, and other records maintained or accessed by the module.
  - Provide a thorough high-level description of major processes, including bibliographic record import/export, validation of bibliographic records against internal and external authority sources, and standard reports.
  - Provide online HTML help as described in 3.3.
- Additional supporting materials such as sample inputs/outputs, surveys, cost analyses, and packaging instructions are [N/A].

# 4 Verification
[NULL]

## 4.1 Functions
[N/A]

## 4.2 Performance requirements
[N/A]

## 4.3 Usability requirements
[N/A]

## 4.5 Logical database requirements
[N/A]

## 4.6 Design constraints
[N/A]

## 4.7 Software system attributes
[N/A]

# 5 Appendices
[NULL]

## 5.1 Assumptions and dependencies
- Assumptions
  - The System Administration Module is part of an enterprise-level Library Automation System. (AS-1)
  - System Administration processes are consolidated at a central location, and accept input and provide services to multiple locations. (AS-2)
- Dependencies
  - Relies on the data structures and functionality of an enterprise-level Library Automation System, including Acquisitions and Cataloging modules. (DE-1)
  - Interfaces with a variety of vendor websites via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT). (DE-2)
  - Interacts with a patron interface (OPAC). (DE-3)

## 5.2 Acronyms and abbreviations
[N/A]
