Document Actions

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 Ive
developed for classifying software in the Computer History
Museums 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
persons 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.

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 systems 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]