- Fundamental Definition of Software
- Various kinds of software, including Systems-Software, Application-Software and related important sub-categories for each.
- Relevant software related issues such as Software bugs, Open Source Software and Software Licensing.
1. Software: Definition
2. Categories of Software
3.0 Understanding System Software
- The operating system (prominent examples being z/OS, Microsoft Windows, Mac OS X and Linux), allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It also provides a platform to run high-level system software and application software.
- Utility software helps to analyze, configure, optimize and maintain the computer.
- Device drivers such as computer BIOS and device firmware provide basic functionality to operate and control the hardware connected to or built into the computer.
- A user interface "allows users to interact with a computer." Since the 1980s the graphical user interface (GUI) has been perhaps the most common user interface technology. The command-line interface is still a commonly used alternative.
3.1 The role of System Software
3.2 Types of System software
- Operating system
Various functions of Operating System:
3.3 Types of Operating Systems
3.4 Some Popular Operating Systems
4. Utility Programs
4.1 Utility software categories
2. Archivers output a stream or a single file when provided with a directory or a set of files. Archive utilities, unlike archive suites, usually do not include compression or encryption capabilities. Some archive utilities may even have a separate un-archive utility for the reverse operation.
3. Backup software can make copies of all information stored on a disk and restore either the entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental deletion).
4. Clipboard managers expand the clipboard functionality of an operating system .
5. Cryptographic utilities encrypt and decrypt streams and files.
6. Data compression utilities output a shorter stream or a smaller file when provided with a stream or file.
7. Data synchronization utilities establish consistency among data from a source to target data storage and vice versa. There are several branches of this type of utility:
8. File synchronization utilities maintain consistency between two sources. They may be used to create redundancy or backup copies but are also used to help users carry their digital music, photos and video in their mobile devices.
9. Revision control utilities are intended to deal with situations where more than one user attempts to simultaneously modify the same file.
6.0 Application Software
6.1 Categorization of Application Software as per the Functional Criteria
- An application suite consists of multiple applications bundled together. They usually have related functions, features and user interfaces, and may be able to interact with each other, e.g. open each other's files. Business applications often come in suites, e.g. Microsoft Office, LibreOffice and iWork, which bundle together a word processor, a spreadsheet, and so on but suites exist for other purposes, e.g. graphics or music.
- Enterprise software addresses the needs of an entire organization's processes and data flow, across most all departments, often in a large distributed environment. (Examples include financial systems, customer relationship management (CRM) systems and supply). Departmental Software is a sub-type of enterprise software with a focus on smaller organizations and/or groups within a large organization. (Examples include travel expense management and IT Helpdesk.)
- Enterprise infrastructure software provides common capabilities needed to support enterprise software systems. (Examples include databases, email servers, and systems for managing networks and security.)
- Information worker software lets users create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks.
- Content access software is used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include media players, web browsers, and help browsers.)
- Educational software is related to content access software, but has the content and/or features adapted for use in by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities.
- Simulation software simulates physical or abstract systems for either research, training or entertainment purposes.
- 8. Media development software generates print and electronic media for others to consume, most often in a commercial or educational setting. This includes graphic-art software, desktop publishing software, multimedia development software, HTML editors, digital-animation editors, digital audio and video composition, and many others.
- Product engineering software is used in developing hardware and software products. This includes computer-aided design (CAD),computer-aided engineering (CAE), computer language editing and compiling tools, integrated development environments, and application programmer interfaces.
6.2 Categorization of Application Software as per the Design Criteria
7.0 Software Issues and Trends
7.1 Software Bugs
7.2 Open Source Software
Advantages of Open Source Software
Disadvantages of Open Source Software
Examples of Open-Source Software