It is some what difficult to develop meaningful generic categories for software applications. As software
complexity grows, neat compartmentalization disappears. The following software areas indicate the breadth of potential applications.
. System software
. Real-time software
. Business software
. Engineering and scientific software
. Embedded software
. Personal computer software
. Web-based software
. Artificial intelligent software
System software:
System software is a collection of programs written to service other programs. Some system software are e.g.
(compilers, editors, and file management utilities) process complex, but determine, information structures. Other systems applications
e.g. (operating system components, drivers, telecommunications processors) process largely indeterminate
data. In either case, the system software area is characterized by heavy interaction with computer hardware; heavy usage by multiple users; concurrent operation that requires scheduling, resource sharing, and sophisticated process management; complex data structures; and multiple external interfaces.
Real-time software:
Software that monitors/analyzes/controls real-world events as they occur is called real time. Element of real-time software include a data gathering component that collects and formats information from an external environment, an
analysis component that transforms information as required by the application, a control/output component that responds to the external
environment, and a monitoring component that coordinates all other components so that real-time response (typically ranging from 1 millisecond to 1 second) can be maintained.
Business software:
Business information processing is the largest single software application area. Discrete "systems" (e.g., payroll, accounts receivable/payable,
inventory) have evolved into management information system (MIS) software that accesses one or more large databases containing business information. Applications in this area restructure existing data in a way that facilitates business operations or management decision making . In addition to conventional data processing application , business software applications also encompass interactive computing (e.g.,
point-of-sale transaction processing).
Engineering and scientific software:
Engineering and scientific software have been characterized by "number crunching" algorithms. Applications range from astronomy to
volcano logy, from automotive stress to space shuttle orbital dynamics, and from molecular biology to automated manufacturing. However, modern applications within the engineering/scientific area are moving away from conventional numerical algorithms. Computer- aided design, system simulation, and other interactive applications have begun to take on real-time and even system software characteristics.
Embedded software:
Intelligent products have become commonplace in nearly every consumer and industrial market.
Embedded software resides in read-only memory and is used to control products and system for the consumer and industrial markets.
Embedded software can perform very limited and esoteric functions(e.g.,keypad control for a microwave oven) of provide
significant function and control capability (e.g., digital functions in an automobile such as fuel control, dashboard displays, and braking systems).
Personal computer software:
The personal computer market has burgeoned over the past two decades. Word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications, external network, and database access are only a few of hundreds of applications.
Web-based software:
The Web pages retrieved by a browser are software that incorporates executable instructions(e.g.,CGI, HTML, Perl, or Java), and data (e.g.,
hypertext and a variety of visual and audio formats). In essence, the network becomes a massive computer providing an almost
unlimited software resource that can be accessed by anyone with a modem.
Artificial intelligent software:
Artificial intelligence (AI) software makes use of nonnumeric algorithms to solve complex problems that are not amenable to
computation or straightforward analysis. Expert systems, also called knowledge based systems, pattern recognition (image and voice), artificial neural networks, theorem proving, and game playing are representative of applications within this category.
|