In the present world we can’t think to run a livelihood environment without software. Entire national infrastructures and almost all utilities are controlled by computer-based systems. The industrial manufacturing world, distribution and communication are totally based on computerized technology, as is the financial system. Marketing includes animation advertisement, effective design making, is computer based software intensives. Entertainment, including the film and television industry, music making industry, and computer games, is software intensive, as is social media networking is computer based software intervention. Therefore, software plays an essential role for the functioning of national and international societies.
Most of the people equate the term software with computer programs. However, we prefer a broader definition about software, which clearly elaborate that software is not just the programs but also all associated documentation and configuration data that is needed to make these programs operate correctly.
What is Software?
In simple words, “Software is a collection of separate programs”. Basically a software system usually consists of a number of separate programs, configuration files (for the purpose of to set up these programs), system documentation (for the purpose to describes the structure of the system) and user documentation, which explains how to use the system and web sites for users to download recent product information.
In additional software systems are abstract and intangible. They are not constrained by the properties of materials, governed by physical laws, or by manufacturing processes. This simplifies software engineering, as there are limitless potential of software. However, because of the lack of physical constraints, software systems can quickly become extremely complex, difficult to understand, and expensive to change.
There are several types of software systems available in market for different-different purposes and tasks, from simple computer based embedded systems to complex computer based embedded systems, worldwide information systems. It is very complex to look for universal notations, methods or techniques for software engineering because different types of software require different approaches and different techniques as per the environment required. Developing an organizational information system is completely different from developing a controller for a scientific instrument. These all applications need software engineering; they do not all need the same software engineering techniques.
Fundamental Type of Software Product:
Software engineers are concerned with developing software products, i.e., software which can be sold to a customer. There are two fundamental types of software product;
- Generic products: The generic software products are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. For examples of generic product include software for personal computers (PCs) such as databases management, word processors environment, Art, drawing and animation packages and project management tools.
- Customized (or bespoke) products: The customized products software is systems which are commissioned by a particular customer. A software contractor/vendor develops the software especially for that customer according to the requirement of the customers. For examples of customized products of software system include control systems for electronic devices, banking software, Voice communication software system, systems written to support a particular business process and air traffic control systems.
Difference between Generic Products and Customized Products:
An important difference between these two types of software systems products is that, in generic products, the organization that develops the software controls the software specification while for custom products, the specification is usually developed and controlled by the organization that is buying the software. The software developers must work to that specification.
You may also Like: Theory of Automata Tutorials
However, the difference gap between these two types of software products is becoming decrease day to day upcoming technology. More and more software companies are starting with a generic system and customizing it to the needs of a particular customer. Enterprise Resource Planning (ERP) systems, such as the SAP system, are the best examples of this approach. Here, a large and complex system is adapted for a company by incorporating information about business rules and processes, reports required, and so on.