General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
What's New
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
Feedback & Participation
Software Engineering Information Repository (SEIR)
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Defining Software Technology


This document addresses software technology in its broadest interpretation. Technology is the practical application of scientific knowledge in a particular domain or in a particular manner to accomplish a task. For the purposes of this document, software technology is defined as: the theory and practice of various sciences (to include computer, cognitive, statistical sciences, and others) applied to software development, operation, understanding, and maintenance.

More specifically, we view software technology as any concept, process, method, algorithm, or tool, whose primary purpose is the development, operation, and maintenance of software or software-intensive systems. Technology is not just the technical artifacts, but the knowledge embedded in those artifacts and the knowledge required for their effective use. Software technology may include the following:

  • Technology directly used in operational systems, for example: two tier/three tier software architectures, public key digital signatures, remote procedure calls (RPCs), rule-based intrusion detection.
  • Technology used in tools that produce (or help produce) or maintain operational systems, for example: graphical user interface (GUI) builders, cyclomatic complexity, Ada 95 programming language, technologies for design rationale capture.
  • Process technologies that make people more effective in producing and maintaining operational systems and tools by structuring development approaches or enabling analysis of systems/product lines. Examples include: Personal Software Process1 (PSP) for Module-Level Development, Cleanroom Software Engineering, Domain Engineering and Domain Analysis.

1 Personal Software Process and PSP are service marks of Carnegie Mellon University



The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University.

Copyright 2007 by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/defining.html
Last Modified: 11 January 2007