Types of Software in Software Engineering

1. System Software: It is a collection of programs written to service other programs. Some system software (example- compilers, editors and file management utilities). Some other system applications (operating system components, drivers, networking software, telecommunications processors). In either case, the system software area is characterized by heavy interaction with computer hardware, heavy usage by multiple users, scheduling, resource sharing, process management, complex data structure.

2. Application Software: It consists of standalone programs that solve a specific business need. Applications in this area process business or technical data in a way that facilitates business operations or management/technical decision-making. Application software is mainly used to control business functions in real-time.

3. Engineering/Scientific Software: Formerly characterized by “number crunching” algorithms, engineering and scientific software applications range from as tronomy to volacanology.
However, modern applications within the engineering/scientific area are moving away from conventional numerical algorithm Computer-Aided Design (CAD), System simulation has begun to take on real-time.

4. Embedded Software: Embedded Software resides within a product or system and it is used to implement and control features and functions for the end-user and for the system itself. Embedded Software can perform limited and esoteric functions. It also provides significant function and control capability (Example- Digital Function, Dashboard displays, cracking system, etc).

5. Product-line Software: Designed to provide a specific Capability for use by many different customers, product-line. The software can focus on a limited and esoteric marketplace (Example- inventory control products) or address mass consumer markets (Example – Word Processing, Spreadsheet, Computer Graphics, Multimedia, entertainment, database management, personal and business applications).

6. Web-Applications:WebApps“, span a wide array of applications. In their simplest form, WebApps can be little more than a set of linked hypertext files that present information using text and limited graphics, such as- E-commerce and B2B Applications. WebApps are evolving into sophisticated computing functions and also are integrated with Corporate databases and business applications.

7. Artificial Intelligence Software: AI software makes use of non-numerical algorithms to solve complex problems that are not amenable to computations or straight-forward analysis. These applications within this area include robotics, expert systems, pattern recognition (image and voice), artificial neural networks and game playing.