# 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 System Administration Module will replace and enhance the current capabilities of commercially available ILSes, as well as add new functionality.

## 1.2 Scope
The System Administration Module facilitates the management of every aspect of the Integrated Library System. It is being developed specifically for King County Library System, but is intended to be suitable for many large, urban, multiple-branch, centralized library systems.

The System Administration Module supports the following activities:
*   Configuring the ILS to enable and support features and processes required for management of the Library branches, patrons, collections, and circulation transactions.
*   Monitoring, troubleshooting, and controlling server performance.
*   Monitoring, troubleshooting, and controlling database and application performance.
*   Monitoring, troubleshooting, and controlling services, ports, and application programming interfaces.
*   Managing user and group accounts and privileges.
*   Managing server and client software installation, upgrades, and updates.
*   Backing up databases, configuration files, log files, etc.

This specification focuses on the functional characteristics of System Administration, presupposing the general functionality of an ILS.

## 1.3 Product overview
[NULL]

### 1.3.1 Product perspective
The System Administration Module is an integral part of a larger enterprise-level Library Automation System (ILS). It presupposes the general data structures and functionality of a full-fledged ILS. The module is designed to replace and enhance existing system administration capabilities within such an ILS.

The System Administration Module relates to other modules within the ILS, including:
*   Acquisitions Module
*   Serials Management Module
*   Circulation Module
*   Cataloging Module
*   Online Public Access Catalog (OPAC) and web services (currently under development)

#### System interfaces
The System Administration Module interfaces with:
*   An enterprise-level Library Automation System, including its Acquisitions and Cataloging modules.
*   A variety of vendor websites, via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).
*   A patron interface, also known as an Online Public Access Catalog (OPAC).
*   Other systems via SIP2/NCIP2 and similar protocols and APIs for simultaneous record access.
*   External monitoring tools supporting SNMP.

#### User interfaces
The System Administration Module shall be accessible through a web-browser or a Windows-compatible client. If web-browser based, it shall be accessible through Microsoft Internet Explorer (v.6.0 and later) and Mozilla Firefox (v.2.0 and later). The system shall be accessible with screen-reading software, screen-magnification software, and other software programs designed to increase accessibility. User interfaces will require further specification and development using an iterative, prototype-oriented software development methodology.

#### Hardware interfaces
The System Administration Module shall operate on a Linux or Solaris server. The system supports server clustering for failover capability.

#### Software interfaces
The System Administration Module relies on the data structures and functionality of an enterprise-level Library Automation System. It uses a fully relational, SQL-based database system and supports access to the database as an ODBC source. It interfaces with third-party backup software such as EMC NetWorker. The system supports secure protocols including SFTP, SSL, and SSH.

#### Communications interfaces
The System Administration Module supports web-browser access (Microsoft Internet Explorer v.6.0+, Mozilla Firefox v.2.0+). It supports secure protocols including SFTP, SSL, and SSH. SFTP is supported in both active and passive modes, configurable per vendor. The system supports SNMP for monitoring and SMTP for email transport.

#### Memory constraints
[N/A]

#### Operations
System Administration processes are consolidated at a central location and accept input and provide services to multiple locations. The module supports:
*   Configuring the ILS.
*   Monitoring, troubleshooting, and controlling server, database, application, services, ports, and API performance.
*   Managing user and group accounts and privileges.
*   Managing server and client software installation, upgrades, and updates.
*   Performing live incremental and full backups of data and transaction logs.
*   Logging data changes and providing "undo" functionality.
*   Server clustering for failover.
*   Software shutdown/startup and server shutdown/restart utilities.
*   Scheduling of maintenance tasks, reports, and data exports, including sequential job scheduling and modification/cancellation.

#### Site adaptation requirements
The System Administration Module is developed for King County Library System, a large, multiple-branch library system with 50 locations, 20 million circulations, and purchasing/processing over 500,000 items per year. The system documentation is library-specific. Circulation dashboard indicators can be limited to a single branch or set to systemwide. Staff and group accounts are independent from workstations, and client installations are not tied to a specific location. All client configuration files are server-based and can be exported and imported between clients.

#### Interfaces with services
The System Administration Module interfaces with a variety of vendor websites via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).

### 1.3.2 Product functions
The System Administration Module provides comprehensive management capabilities for the Integrated Library System, including:
*   **System Configuration:** Enabling and supporting features and processes for managing library branches, patrons, collections, and circulation.
*   **Performance Monitoring and Control:** Monitoring, troubleshooting, and controlling server, database, application, services, ports, and APIs.
*   **User and Access Management:** Managing user and group accounts and privileges.
*   **Software Lifecycle Management:** Managing server and client software installation, upgrades, and updates.
*   **Data Management:** Backing up databases, configuration files, and log files; supporting MARC import/export; managing record sets.
*   **System Operations:** Providing consoles and dashboards for system, application, and client management; managing record locks; scheduling jobs.
*   **Business Rule Management:** Defining and applying business rules for circulation, requesting, suppression, and data validation.
*   **Data Recovery:** Supporting system backups, data rollback, and server clustering.
*   **Security Management:** Ensuring patron data security, managing user privileges, and supporting secure protocols.
*   **Reporting and Querying:** Providing tools for designing queries and generating customizable reports.

### 1.3.3 User characteristics
The intended users of the System Administration Module include:
*   **Patrons:** Customers of King County Library System, using various library materials and resources.
*   **Staff:** Including managers, librarians, library technicians, library assistants, and library pages involved in designing and providing library services.
*   **System Administrators:** Staff responsible for managing servers, databases, applications, services, ports, and APIs related to the ILS.
*   **Managers:** Management staff overseeing Library processes.
*   **Library Managers:** Cluster and Site Managers providing input to the design and implementation of Library services.
*   **Library Directors:** Members of the Library Executive Team planning and directing Library services and priorities.

The SRS is intended for both library managers and staff (who may contribute requirements) and software project managers and developers (who will implement requirements). It aims for high readability for a non-technical audience while providing specificity for developers. Readers are assumed to have a general understanding of Library services and processes.

### 1.3.4 Limitations
The following limitations and constraints apply to the System Administration Module:
*   **Architectural Constraints:** The module shall use a fully relational database back-end.
*   **Interface Standards:** The module shall produce standards-compliant HTML.
*   **Development Focus:** The current specification is focused on functional characteristics; data structures and user interfaces will require further specification and development.
*   **Operational Performance:** It is highly desirable that searches and reports can be processed during open hours without disrupting other system functions.
*   **Security and Access Control:** User rights and privileges will be controlled through security groups and/or "roles" that allow access control for individuals, workgroups, and arbitrary staff groups.
*   **Environment Management:** The module shall provide a development and training environment with the ability to migrate configurations to a production environment.
*   **Business Rule Enforcement:** The system supports restrictions based on business rules (e.g., restrictions on deleting checked-out items or bibliographic records with existing holds).

## 1.4 Definitions
*   **API:** Application Programming Interface
*   **ILS:** Integrated Library System
*   **OPAC:** Online Public Access Catalog
*   **Patron:** A customer of King County Library System, with or without a library card, on-site or off-site, using print, media, or electronic resources.
*   **SRS:** Software Requirements Specification
*   **Staff:** Includes managers, librarians, library technicians, library assistants, and library pages involved in designing and providing services for the Library.
*   **System Administrators:** Staff with responsibility for managing servers, databases, applications, services, ports, and APIs related to the ILS.

# 2 References
*   Acquisitions and Serials Management Module Specification (King County Library System)
*   Circulation Module Specification (King County Library System)
*   Cataloging Module Specification (King County Library System)
*   Process flowcharts for System Administration at King County Library System (contextual information)
*   REQ-5057 (Loan Rules)
*   REQ-5190 (Requesting Rules)
*   REQ-5278 (Suppression Rules)
*   USMARC21 (Standard format data file)
*   EDIFACT (Standard format data file)

# 3 Requirements
[NULL]

## 3.1 Functions
### 3.1.1 Systems: General
*   **Req ID: 6512 - SQL-based database:** The system runs on a fully relational, SQL-based database system. It provides the ability to run SQL queries against any table in the database and to access the database as an ODBC source. All data tables and data storage are fully accessible.
*   **Req ID: 5615 - real-time processing:** The system provides real-time processing. For example, pull lists are up to date at the time of viewing or printing; the system supports live shelf reading and weeding.
*   **Req ID: 5323 - field and record sharing:** The system provides the 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.
*   **Req ID: 6513 - record lock management:** For any patron record or item record, staff can identify where it is in use (location, user, date and time placed).
*   **Req ID: 2492 - individual and shared staff login accounts:** The system supports 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 an audit trail.
*   **Req ID: 2428 - system documentation:** 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 the library. Documentation is web-based, indexed, organized by function, and easily searchable.
*   **Req ID: 2431 - system upgrade guidelines:** System upgrades and updates include written guidelines for updating servers and clients. This includes a list of new, changed, and removed features.
*   **Req ID: 2479 - configuration file access:** The system provides access to all configuration files.
*   **Req ID: 2474 - log file access:** The system provides full access to all log files. Log files can be reviewed without stopping the system. Logs can be enabled, disabled, and set to a specific retention threshold.
*   **Req ID: 2470 - root shell access:** The system provides access to the root shell.

### 3.1.2 Systems: Consoles and Dashboards
*   **Req ID: 6520 - dashboard configuration:** The system supports the 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.
*   **Req ID: 6501 - system monitoring:** The 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 an unlimited number of recipients via any or all alert methods.
*   **Req ID: 7302 - record lock administration:** The system provides the 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. It also provides the ability from the same console to unlock one or more records.
*   **Req ID: 2467 - system performance dashboard:** The system provides a dashboard of performance monitoring and management tools. It includes identification of processes with process ID, owner username, IP address (if applicable), CPU utilization, memory utilization, and run time. Runaway processes are identified. System status is represented by visual indicators (e.g., green and red lights).
*   **Req ID: 2466 - server console:** The system provides a server management console including: software shutdown utility, software startup utility, server shutdown utility, server restart utility.
*   **Req ID: 2464 - application dashboard:** The 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).
*   **Req ID: 2430 - client management console:** The system provides a management console displaying workstations running client software; workstation name and IP address; and utilities for managing and killing client sessions.
*   **Req ID: 6503 - circulation dashboard:** The 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.
*   **Req ID: 6517 - configuration file console:** The 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.
*   **Req ID: 2433 - log-file dashboard:** The system provides a dashboard for locating and viewing log files.
*   **Req ID: 6521 - job scheduling console:** The system provides a single interface for reviewing and controlling scheduled tasks, including staff-scheduled tasks, automated reports, scheduled imports and exports, software updates, etc.
*   **Req ID: 6515 - email configuration:** The system provides the ability to access and edit email configuration, including a quick menu of common settings (such as masquerading, log retention, bounce management).
*   **Req ID: 6516 - SMTP support:** The system supports SMTP for email transport.

### 3.1.3 Systems: Business Rules
*   **Req ID: 2445 - business rules:** The 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.
*   **Req ID: 5278 - suppression rules:** The 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.
*   **Req ID: 5190 - requesting rules:** The 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. Requesting rules also specify whether staff with specific privileges or roles can override specific criteria.
*   **Req ID: 5057 - loan rules:** The 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. Loan rules can access check-out location open/closed schedule in calculating due date. Loan rules also specify whether a specific criterion may be overridden by staff with specific privileges or roles.
*   **Req ID: 5328 - data validation:** The system provides the ability to specify default value, data validation, automatic formatting, and required status for any field.

### 3.1.4 Systems: Data Recovery
*   **Req ID: 6502 - system backup:** The system provides the capability to perform live incremental and full backups of data and transaction logs. The system supports the use of third-party backup software such as EMC NetWorker.
*   **Req ID: 6505 - data rollback:** The system logs data changes (such as record deletions) and provides "undo" functionality. Ideally, the system provides revision control.
*   **Req ID: 2462 - server clustering:** The system provides the ability to cluster servers for failover capability.

### 3.1.5 Systems: Security
*   **Req ID: 6510 - patron data security:** Patron data is secure in all transfers to and from the system.
*   **Req ID: 6509 - user account privileges:** System administrative staff has full visibility and control of user privileges.
*   **Req ID: 6511 - secure protocol support:** The system supports secure protocols, including SFTP, SSL, and SSH. SFTP is supported in both active and passive modes, configurable per vendor.

### 3.1.6 Systems: Maintenance
*   **Req ID: 1716 - MARC import/export:** 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.
*   **Req ID: 6518 - record sets:** The 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.
*   **Req ID: 2420 - staff account setup:** The system provides a dedicated interface for creating new staff accounts. The new staff account creation process provides configurable templates for account administrator use; provides granular privileges for account creation, modification, and deletion.
*   **Req ID: 2419 - patron account setup:** The system provides a dedicated interface for creating new patron accounts. The patron account creation process provides configurable templates for staff use; supports field validation and required fields; provides configurable defaults.
*   **Req ID: 6507 - job scheduling:** The 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.
*   **Req ID: 6508 - job scheduling: management:** Staff can be given permission to schedule tasks, reports, and data exports. System administration staff can view and manage jobs scheduled by other staff.
*   **Req ID: 2220 - keyboard macros and shortcuts:** The 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 the server, can be imported from and exported to individual users, and can be restricted for use and/or editing through centrally-managed permissions.

### 3.1.7 Systems: Client Management
*   **Req ID: 6514 - accounts independent from workstation:** Staff and group accounts are independent from workstations; client install should not be tied to a specific location.
*   **Req ID: 6504 - client software updates:** Client software installation and updates must be centrally managed, using standard or proprietary network management tools, allowing streaming updates from the server. The system provides the ability to specify specific clients to be updated. Client software can be managed with VNC and Remote Desktop.
*   **Req ID: 6519 - client configurations:** All client configuration files are server based; configurations can be exported and imported between clients.

### 3.1.8 Systems: Queries and Reports
*   **Req ID: 2197 - report format and output:** The system provides the ability to fully customize the layout and appearance of reports. It provides the ability to display, print, email, or save reports to standard formats including CSV and Excel, as well as to customizable formats.
*   **Req ID: 5624 - query tool:** The system provides a user-friendly interface for designing queries against all record types. Staff can select fields to query; select values from a picklist of possible values; select regular expressions from a drop-down menu, and use a full range of Boolean operators. Administrators control staff access to tables and fields.
*   **Req ID: 5607 - report templates:** 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.
*   **Req ID: 5617 - reports permissions:** The 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.
*   **Req ID: 2465 - record number report:** The 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.
*   **Req ID: 2441 - printer support:** The system provides the ability to define and select four types of printers: receipt printer, standard printer, label printer, and forms printer. All Windows printers are supported.
*   **Req ID: 2439 - multiple print output options:** The system provides the 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 the order of fields when printing.

## 3.2 Performance requirements
*   The system must support a library system with 50 locations, 20 million circulations, and purchasing and processing over 500,000 items per year.
*   It is highly desirable that searches and reports can be processed during open hours without disrupting other system functions.
*   The system provides real-time processing for tasks such as pull lists and live shelf reading/weeding.
*   The system supports simultaneous access and updates to patron and item records by multiple staff members and patrons, with record changes applied in a reasonable way.
*   Alert thresholds for system monitoring are configurable.
*   The system allows setting thresholds on the length of time records are locked.

## 3.3 Usability requirements
*   The SRS aims for a high level of readability for a non-technical audience.
*   The software development process will be highly collaborative and iterative, allowing end-users multiple opportunities to review prototypes and refine the user interface and software functionality.
*   The system shall be accessible with screen-reading software, screen-magnification software, and other software programs designed to increase accessibility.
*   System documentation shall be web-based, indexed, organized by function, and easily searchable.
*   The query tool shall provide a user-friendly interface for designing queries.

## 3.5 Logical database requirements
*   The System Administration Module shall use a fully relational database back-end.
*   The system must run on a SQL-based database system, allowing SQL queries against any table and access as an ODBC source, with all data tables and storage fully accessible.
*   The system provides the ability to specify default values, data validation, automatic formatting, and required status for any field.
*   The system logs data changes (e.g., record deletions) and provides "undo" functionality, ideally with revision control.
*   Patron data must be secure in all transfers to and from the system.
*   The system supports import and export of MARC bibliographic and authority records, singly and in batch.
*   The system supports an unlimited number of record sets, with batch import/export, use for batch field updates, query scope limiting, and deletion with review/undo capabilities.
*   The software developer shall provide complete data specifications for authority records, bibliographic records, order records, item records, hold/request records, and other records maintained or accessed by the System Administration Module.

## 3.6 Design constraints
*   The System Administration Module shall use a fully relational database back-end.
*   The System Administration Module shall produce standards-compliant HTML.
*   The System Administration Module shall provide a development and training environment with the ability to migrate configurations to a production environment.
*   User rights and privileges will be controlled through security groups and/or "roles" that allow access control for individuals, workgroups, and arbitrary staff groups.
*   The System Administration Module shall operate on a Linux or Solaris server.
*   The system supports secure protocols, including SFTP, SSL, and SSH.
*   The system supports SMTP for email transport.

## 3.7 Software system attributes
### Reliability
*   It is highly desirable that searches and reports can be processed during open hours without disrupting other system functions.
*   The system provides server clustering for failover capability.

### Availability
*   The system provides server clustering for failover capability.
*   The system supports simultaneous access and update of records by multiple users.

### Security
*   User rights and privileges will be controlled through security groups and/or "roles" that allow access control for individuals, workgroups, and arbitrary staff groups.
*   Patron data is secure in all transfers to and from the system.
*   System administrative staff has full visibility and control of user privileges.
*   The system supports secure protocols, including SFTP, SSL, and SSH.
*   The system supports individual and shared staff login accounts, with access to modules granted by roles or privileges, allowing user-level preferences and an audit trail.
*   Administrators can create custom dashboards and give access to selected users and groups.
*   Read and write permission to individual configuration files can be assigned to users and groups.
*   The 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.
*   Access to record numbers in reports is controlled at the user/group level.

### Maintainability
*   The System Administration Module facilitates monitoring, troubleshooting, and controlling server, database, application, services, ports, and application programming interfaces.
*   It manages server and client software installation, upgrades, and updates.
*   It supports backing up databases, configuration files, and log files.
*   The module shall provide a development and training environment with the ability to migrate configurations to a production environment.
*   System upgrades and updates include written guidelines for updating servers and clients, including lists of new, changed, and removed features.
*   The system provides access to all configuration files.
*   The system provides full access to all log files, which can be reviewed without stopping the system, and logs can be enabled, disabled, and set to specific retention thresholds.
*   The system provides access to the root shell.
*   The system provides full support for SNMP and supports monitoring of system resources, with configurable alert thresholds.
*   The system provides the ability to set thresholds on record lock length and to unlock records from a console.
*   The system provides a system performance dashboard to identify processes, resource utilization, and runaway processes.
*   The system provides a server management console for software and server shutdown/startup/restart.
*   The system provides an administrative dashboard displaying backup status, reboots, software versions, transaction queues, log file sizes, record counts, and database utilization.
*   The system provides a client management console displaying workstations, IP addresses, and utilities for managing/killing client sessions.
*   The system provides a single console with access to all configuration files.
*   The system provides a dashboard for locating and viewing log files.
*   The system provides a single interface for reviewing and controlling scheduled tasks.
*   The system provides the ability to access and edit email configuration.
*   The system supports scheduling of maintenance tasks, reports, and data exports, with management capabilities for system administration staff.
*   The system supports administrator-programmable and user-programmable macros and/or keyboard shortcuts, which are centrally managed with permissions.
*   Client software installation and updates must be centrally managed, allowing streaming updates and specific client targeting, and can be managed with VNC and Remote Desktop.

### Portability
*   The System Administration Module shall operate on a Linux or Solaris server.
*   The system supports accessing the database as an ODBC source.
*   [N/A] (Specifics like percentage of host-dependent code, use of a particular compiler/language subset are not specified.)

## 3.8 Supporting information
*   Process flowcharts generally indicate the current approach to System Administration at King County Library System and should be considered to give contextual information rather than to prescribe or constrain new software development.
*   The software developer shall provide complete data specifications for authority records, bibliographic records, order records, item records, hold/request records, and other records maintained or accessed by the System Administration Module.
*   The software developer shall provide a thorough high-level description of major processes, including bibliographic record import and export, validation of bibliographic records against internal and external authority sources, and standard reports.
*   The system shall provide an online, hierarchical, and cross-linked help system in HTML that describes and illustrates all system functions.

# 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
*   **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 accept input and provide services to multiple locations.
*   **DE-1:** The System Administration Module relies on the data structures and functionality of an enterprise-level Library Automation System, including Acquisitions and Cataloging modules.
*   **DE-2:** The System Administration Module interfaces with a variety of vendor websites, via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).
*   **DE-3:** The System Administration Module interacts with a patron interface, also known as an Online Public Access Catalog (OPAC).

## 5.2 Acronyms and abbreviations
*   **ACQ:** Acquisitions
*   **API:** Application Programming Interface
*   **CAP:** Cataloging and Acquisitions Processing
*   **CIR:** Circulation
*   **CPU:** Central Processing Unit
*   **CSV:** Comma Separated Values
*   **EDIFACT:** Electronic Data Interchange For Administration, Commerce and Transport
*   **FTP:** File Transfer Protocol
*   **HTML:** HyperText Markup Language
*   **ILS:** Integrated Library System
*   **ITS:** Information Technology Services
*   **MARC:** Machine-Readable Cataloging
*   **MGT:** Management
*   **NCIP2:** NISO Circulation Interchange Protocol (Version 2)
*   **ODBC:** Open Database Connectivity
*   **OPAC:** Online Public Access Catalog
*   **SFTP:** SSH File Transfer Protocol
*   **SIP2:** Standard Interchange Protocol (Version 2)
*   **SNMP:** Simple Network Management Protocol
*   **SQL:** Structured Query Language
*   **SRS:** Software Requirements Specification
*   **SSH:** Secure Shell
*   **SSL:** Secure Sockets Layer
*   **SMTP:** Simple Mail Transfer Protocol
*   **USMARC21:** United States Machine-Readable Cataloging (21st Century)
*   **VNC:** Virtual Network Computing
