What are the generic categories of Software Applications(Types of Software Applications)
Software applications can be categorised as follows:
System Software: System software is a collection of programs written to service other programs. Examples include compilers, editors,
file management utilities, operating system components, drivers, and telecommunications processors etc. The system software area is
characterised 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, analyses and controls real world events as they occur is called Real-Time.
Examples of Real-Time software include a data gathering component that collects and formats information from external environment,
an analysis component that transforms information as required by the application, a monitoring component that co-ordinates all other
components so that real-time response (typically ranging from 1 millisecond to 1 second) can be maintained etc.
Business Software: Business software is the largest single software application area. Applications in this area restructure
existing data in a way that facilitates business operations or management decision making (Management Information Systems (MIS)).
Conventional data processing applications, point-of-sale- transaction processing applications, discrete systems such as Payroll,
accounts receivables-payables, inventory etc. come under this category.
Engineering and Scientific Software: Engineering and Scientific Software has been characterised by "number crunching" algorithms.
Applications range from Astronomy to Volcanology, from Automotive Stress Analysis to Space Shuttle Orbital Dynamics and from
Molecular biology to Automated Manufacturing. However modern applications within this area have begun to take on Real-Time and
even System Software characteristics.
Embedded Software: Embedded Software resides in read-only memory and is used to control products and systems for the consumer and
industrial markets. Examples of Embedded Software includes Key pad control for a microwave oven, digital functions in an automobile
such as fuel control, dashboard displays, breaking systems etc.
Personal Computer(PC) Software: Word processing, spreadsheets, computer graphics, multimedia, entertainment, database management,
personal and business financial applications etc. come under this category
Artificial Intelligence Software: Artificial Intelligence (AI) software makes use of non-numerical algorithms to solve complex
problems that are not responsive to computation or straightforward analysis. Expert systems (also called Knowledge based systems),
pattern recognition software (image and voice recognition), artificial neural networks etc. come under this category of software.
What are the various Software Process Models (Methodologies)
Software Process Models:
- Code and Fix Model
- Waterfall/Linear Sequential/Classic Life Cycle mode
- Prototyping Model
- Rapid Application Development (RAD) Model
- Incremental Model
- Spiral Model
- Win Win Spiral Model
- Concurrent Development Model
- Component Based Development (CBD) Model
- Formal Methods Model
- Fourth Generation Techniques (4GT) Model
A discussion on the above Models can be found in the article (A brief review of Software Process Models/Methodologies) that Iím going to publish soon.