Draft Software Collection Taxonomy
This is the current working draft of the Computer History Museum Software Collection Taxonomy. The document is currently undergoing further refinements in the CHM Software Collection Committee. The taxonomy is scheduled to be finalized by March 1, 2005.
Software Collection Taxonomy
Sellam Ismail
Computer History Museum
January 19, 2005
Revision 0.1
This is the first draft of a Software Taxonomy that Ive developed for classifying software in the Computer History Museums software collection. The purpose behind the taxonomy is to provide an organized means to segregate software into similar application classes to assist with cataloging and searching.
The hierarchy is organized into three tiers. The top-level tier describes a basic function or class of software. Each main grouping in the top tier represents families of software that are unique to each other in scope and characteristics. The second tier further refines the top-level tier into major sub-classifications of the basic functionality described in the top tier. The third tier designates specific software functionality. The hierarchy has attempted to avoid catch-all or miscellaneous classifications at every tier, although this can be challenging in some cases. The intent of the hierarchy is that each software object should fall under a specific category which should describe the primary function of that software.
APPLICATIONS
An Application is software that allows a user to perform a specific function not related to the task of computing itself. The software in this category is tools designed to perform tasks that directly enhance a persons productivity.
Applications are further divided into multiple categories. These categories are useful for classifying certain groupings of software that provide similar functionality and will facilitate cataloging and searching.
Editor |
Assists a user with developing text, either formatted (i.e. word processor) or non-formatted (text editor). |
Data Manager |
Used to store and organize sets of information. |
Financial |
Allows a user to perform a fiduciary function, such as balancing a checkbook or track a portfolio. |
Telecommunications |
Enables a user to connect to other computers over computer communication channels. Such an application might be a terminal emulator. |
Scientific |
Allows a user to conduct some manner of research, typically by performing computations or computer-assisted analysis, particularly in the physical sciences. |
Reference |
Generally a knowledge base of some sort that allows the user to find information, such as an encyclopedia or dictionary. |
Educational |
A learning aid which provides some sort of tutoring to the user, for example teaching skills such as reading, writing, math, etc., or teaching a user how to use a particular program. |
Recreational |
Used primarily for leisure purposes (i.e. games). |
Language Tool |
Assists with written language, including correcting and translating. |
Time Management |
Used to keep schedules and appointments. |
Digitizer |
Renders physical objects into digital form. |
Suite |
A suite is a single software application that combines multiple distinct functionalities into one package. |
Miscellaneous |
Software of miscellaneous functionality (to deprecate) |
- Application
- Editor
1. Word Processor provides for input/ouput of written document with text-processing
2. Text Editor provides for input/output of written document without text processing
3. Graphic Design
4. Image Editor
5. Video Editor
6. Audio Editor
7. Music Editor
8. Font Editor
- Data Manager
1. Database
2. Contact Manager
3. Spreadsheet
- Language Tool
1. Spelling Checker
2. Grammar Checker
3. Translator
- Time Management
1. Project Management
2. Scheduler
3. Calendar
- Digitizer
1. Audio
2. Image
3. Video
4. Speech Recognition
5. Image Recognition
6. OCR
- Financial
1. Accounting
2. Tax Preparation
3. Analysis
4. Stocks
- Management
1. Human Resources
2.
- Telecommunications
1. Terminal Emulator
2. Online Services Client
3. File Transfer
4. Remote System Control
- Scientific
1. Mathematics (Formula Interpreter)
2. Physics
3. Biology
4. Chemistry
5. Meteorology
6. Geological
7. Genealogy
8. Statistical Analysis
- Reference
1. Thesaurus
2. Dictionary
3. Encyclopedia
- Educational
1. Tutorial
2. Scholastic Learning Aid
- Recreational
1. Sports
2. Action
3. Strategy
4. Interactive Fiction game flow is directed by an overall story structure that can vary based on player decisions
5. Educational
- Suite provides the functionality of two or more types of Application software
- Miscellaneous
1. Legal
2. Presentation Aid
3. Computer Aided Design
4. Report Generator
5. Graphing/Plotting
6. Mail Merge
7. Form Generator
8. Mapping
9. Font Editor
10. Diagramming
11. Demonstration Program
AUTOMATION
Automation software provides the user with functionality that either enables the execution of other applications that are directly utilized by the user, or that provide a service to the user that functions autonomously and does not normally require the interaction of the user.
Operating System |
Provides a human-to-computer or application-to-computer interface to the computer system. |
Server |
Stores programs or data and dispenses it upon request from a client application. |
Network |
Performs special purpose functions required for the interconnection of computer systems. |
- Automation
- Operating System
1. Kernel
2. Application/Task Manager
3. Monitor
4. Simulator
5. Hardware Driver
6. Memory Manager
7. Network Protocol
- Server
1. File Server
2. Electronic Messaging Server
3. Voice Messaging Server
- Network
1. Routing Software
2. Firewall
3. Security and Authentication
UTILITY
The Utility category covers applications that are utilized specifically to manage a computer system. They differ from Applications in that the ultimate function of the software does not generally further the aims of the user but rather assists the user in maintaining the computer system so that Applications can be utilized. [Requires refinement]
Filesystem |
Assists with the management of a computer systems files. |
Storage |
Tools for managing storage volumes. |
Peripheral |
Tools for managing peripherals attached to a computer system. |
System |
Tools used for managing |
- Utility
- Filesystem
1. Manager allows editing of the filesystem (move, rename, etc.)
2. Backup makes perservational copies of filesystems
3. Data Compression
- Storage
1. Formatter
2. Disk Manager
3. Partition Manager
- Peripheral
1. Diagnostic
- System
1. Diagnostic
2. Screen Saver
3. Anti-virus
PROGRAMMING
Programming software enables a user to develop computer software. Software in this catgeory includes programming language compilers, interpreters, and tools which facilitate the creation of programs such as debuggers. It is also a somewhat special category in that it also encompasses computer code itself in all its various manifestations (e.g. source, object, executable).
Tools |
Software used to create and debug software. |
Code |
The actual software code in its various manifestations. |
- Programming
- Tools
1. Compiler
2. Decompiler
3. Linker
4. Interpreter
5. Debugger
6. Lister
- Code
1. Source
2. Object
3. Executable
4. Library
LIBRARY
The Library category is intended to cover data files which are used in general as part of Applications. This is not necessarily software but data. But it is not user generated data, but special data that enhances Applications. [Requires refinement]
- Library
- Font
- Image
- Sound