EPRI: Electric Power Research Institute

Software Development


Software Type Definitions


Software Type
Definition
E-Media: Desktop (includes "simple" spreadsheets) A database such as Microsoft Access may contain queries, as long as it does not provide a "user interface." Similarly, a Microsoft Excel file may contain formulas and trivial scripts as long as it does not provide a "user interface" and is "simple" (i.e., no macros, hidden cells, rows or columns); all calculations can be easily viewed and verified on no more than three worksheets without scrolling.
E-Media: Web Content-only website utilizing native SharePoint functionality.
Computer-Based Training (CBT) Training material provided electronically. This can include PowerPoint presentations or CBT files produced in commercial packages that have been approved by EPRI.
Complicated Spreadsheets Spreadsheets with macros, hidden rows and columns, protected functionality, complicated formulae.
Desktop Software that is installed the end user's computer. This includes traditional compiled software developed in a programming language like C++ or code developed in a scripting language like Python. In many cases, this software includes a graphical user interface, but this category also includes command-line computational tools run on the desktop.
Server/Enterprise Software that is intended to be intsalled on a server in the enterprise. Typically, these are installed by the end user's IT staff. The software might not have a user interface other than installation and administrative functions, or it might be a web app that runs on the member's Intranet. This category does not include client workstation use of a corporate database, which would typically be categorized as Desktop Software.
Software Implemented via a Commercial Software Platform Software that is created inside another commercial tool. A user interface is created using the features of the commercial tool, such as Microsoft Access, Microsoft Excel, or MATLAB. In general, the end users will need to procure a specific version of the underlying tool in order to use software provided.
Software Extension Software that does not operate by itself, but is only useful when used in combination with other software tool. For example, this might include source code for a FORTRAN subroutine that describes material behavior that will be used by a finite element package. Or it might be a dynamic link library (DLL) that can be used by a thermohydraulic tool. This category is very similar to products developed on a commercial platform, but in this case the software usually has no user interface, has no immediate standalone use, and might not be limited to a single commercial tool.
Web Application/Service Any software that runs through a web connection. This type includes externally-facing web sites, regardless of host location, that will be accessed by members. It also includes web services, which are "subroutines" without user interface that are accessible to other programs via the web. Some web sites might be content-only but still fall into this category.
Mobile Application Mobile apps include all software intended to be deployed on a phone or tablet style computer. This software usually needs to be deployed via a "store" or some other specialized distribution channel.
Business Service Agreement (BSA) Per terms of agreement.

Download the Software Type Definitions (40 KB)