Types of Software
Software is a set of programs that takes input from user; process input as per the business logic and provides output.
Providing output is not mandatory in all scenarios. Sometimes output can be stored in the system itself and sometimes the output is displayed or provided.
Calculator application doesn’t store any output, it always displays output.
Software is a collection of programs and related data that provides the instructions for telling a computer what to do and how to do it.
1.0.1 Computer Program
A Program is a set of instructions or statements that tell the system what to do and how to do.
1.0.2 Programming Statement
Statement/Step/Instruction is a minimum executable unit.
1.0.3 Computer System
Computer hardware and Software is called Computer System
1.1 Types of Software
Software can be divided mainly into three categories
1.1.1 System software
• System software is designed to operate computer hardware, to provide basic functionality, and to provide a platform for running application software. System software includes device drivers, operating systems, servers, utilities, and window systems.
• System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously.
• System software are finite and limited.
Example: Windows, UNIX, Mac, Device drivers etc.
1.1.2 Programming software
• Software used for developing application software.
• Programming software includes tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications.
• The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task.
• Programming software are also finite and limited.
Example: C, C++, Java, .NET
1.1.3 Application software
• Software used for business operations.
• Application software is developed to perform in any task that benefit from computation.
• It is a set of programs that allows the computer to perform a specific data processing job for the user.
• It is a broad category, and encompasses software of many kinds, including the internet browser being used to display web pages.
• Application software are unlimited.
Example: Banking software, Marketing software, Telecom software, Accounting software, ERP Software, Ecommerce etc.
2.0 Software project, software application, software product
2.1.1 Software Project
A Project is a unique set of coordinated and controlled activities with start and finish dates undertaken to achieve an objective confirming to specific requirements, including constraints of time, cost and resources.
2.1.2 Software Application
Software developed for a specific customer is called as Software Application.
Internet banking application for a specific bank, Hospital management systems for s specific hospital etc.
2.1.3 Software Product
Software developed based on overall requirements in the market is called as software product. Software products are intended for multiple users.
Products can be classified as High volume and low volume products. High volume products are used by more number of customers where are Low volume products are used by less number of customers.
High volume products: Windows, MS-Office, Accounting softwares like Tally etc
Low volume products: Banking softwares, financial softwares etc.
3.0 Software Business process
3.1.1 Software Bidding
A proposal to develop new software is called software bidding.
• For Software application development bidding is done and quotation is sent to the customer.
• For Software product development, organizations take their own initiation for proposal of new product based on the market needs. Requirements are gathered based on inputs from existing customers and from competitor analysis. Bidding is made based on the number of features need to be developed and the budget and resources required to develop them.
3.1.2 PIN document (Project Initiation Note)
Once the project is confirmed, higher management appoints project manager who handles the new software development process.
Project manager prepares PIN document to provide overall estimates of required budget, time and resources (developers, testers, maintenance) for developing the new software.
Project manager submits this document to higher management to get the approval.
3.1.3 Kick-off meeting
Kick-off meeting is conducted to review the information provided by the Project Manager. During this meeting, Higher Management provides approval to start the new software development.
Project Manager prepares Project Plan which consists of tasks for different teams like Development, Testing, Network Administration, System Administration and also Non-Technical teams.
Classification of software
Examples: DOS, MS Windows, UNIX/Linux/Solaris, Mac, OS2, OS400, Novel Netware etc…
Examples: COBOL, C, C++, Java, VB, VC++ etc…
Examples: Oracle, Sybase, MS Access, SQL Server, MySQL, DB2, DB400 etc…
Examples: SAP, People soft, Siebel, Oracle Applications etc…
Examples: HTML, DHTML, CSS, Java Script, VBScript, XML, IIS, Apache web server, COM+, WebLogic Application Server etc…
Examples: Tally, Gally, Focus, QuickBooks, Wings etc…
Examples: Notepad, WordPad, MS Office, Open Office, Star Office, Acrobat PDF Writer and Reader Etc…
Types of Software Business Applications
BFSI (Banking, Financial services and Insurance) Applications
ERP (Enterprise Resources Planning) Software
Retail Market Applications