Types of Software in Software Engineering
Types of Software:
1. System Software: It is a collection of programs written to service other programs. Some system software (for 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, and 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 astronomy to volcanology.
However, modern applications within the engineering/scientific area are moving away from conventional numerical algorithm Computer-Aided Design (CAD), and System simulation has begun to take on real-time.
4. Embedded Software: Embedded Software resides within a product or system and 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 (For example- Digital Functions, 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 (For example- inventory control products) or address mass consumer markets (For example – Word Processing, Spreadsheet, Computer Graphics, Multimedia, entertainment, database management, and 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 straightforward analysis. These applications within this area include robotics, expert systems, pattern recognition (image and voice), artificial neural networks and game playing.