To fulfill the specific needs of the organization Tailor-made software is made. Tailor made software is of no use for other organizations. Tailor made software is developed to fit into the working model of a particular organization so that it automates that working model. Tailor made software is used to fulfill uncommon requirements of an organization such as to process and store large amounts of data of a specific application a functionality has to be added into the existing database management system. When this functionality is added to the existing database management it is said that a tailor-made software has been developed.
Software requirements in the domain of application software are diverse. To satisfy the emerging requirements of the organization required functionality has to be developed. If the required functionality is not fulfilled by the available software it has to be developed. This type of specific functionality forms the basis of Tailor-made software.
Embedded systems process large amounts of data often requiring functionalities not fulfilled by the available softwares. Thus it becomes a requirement to develop tailor made functionalities for embedded systems.
Embedded systems are often required to develop specific software functionality related to database management systems often termed as Tailor-made database management systems.
What is the advantage of tailor-made software ?
- Pre-developed software
- These Software has low cost
- Provide high security to software database
- Efficient software
Mobile equipments requires softwares having specific functionality to be developed specially for a specific mobile equipment. Specific functionality required for mobile equipment may be related to process data using the database management system. If the required functionality is related to transaction, recovery and replication it is possible that it is accomplished by the existing software.
There arises many challenges when large database transactions are handled as the database keeps growing. Mobile equipment keeps on storing data and works on it continuously. To work on the data of mobile equipment database transactions are carried out, queries are fired against the data and issues related to privacy of the data are handled. Thus functionality such as special algorithms are required to handle this large mobile equipment data.
Tailor-made software is also required to meet the limitation of computer hardware. Desktop systems and server systems have limited resources such as limited memory, limited CPU processing power, and a specific level of power consumption. Due to limited hardware boundation organizations prefer to develop software that work on their desktop and server computer hardware. Computer hardware restrictions have been in place since the 1970’s since then softwares is developed to work on limited resources.
Thus tailor-made softwares is required to work on desktop systems and server systems having limited hardware capacity.
Considering the limited hardware resources and special software functionality required by organization traditional software becomes obsolete. Techniques and approaches exist that may be used to develop tailor-made software. Tailor-made software is also known as a customized software solution or customized software. Development of customized software requires the reinvention of existing software functionality and adding new functionality as required.
Customized software may be a time consuming and costly process. To reduce the time of customized software development, to reduce the customized software development cost, and to increase the quality of customized software and to develop error free customized software, techniques and processes are available in the domain software engineering.
There exists many approaches in software engineering such as components based software development or preprocessors based software development. Component based software development develops software by categorizing functionality into modules. Preprocessor based software development works the same way as C language preprocessor statemnet and share the same advantage as the preprocessor directives of C language. Thus these two approaches may be used to develop customized software or tailor-made softwares.
Developing tailor-made software using component-based approaches enables developers to use the functionality of encapsulation. Component based model encapsulates the required and varied functionality of the software to be tailor-made into different modules.
In component based models each component demands infrastructure to be managed thus it becomes a costly affair. It is seen that specific functionality that is added to the existing software is often small. Thus the cost of maintaining and managing such a small functionality using component based models becomes big.
To overcome this, functionalities that are too small are ignored in tailor-made software when using component based models. Thus, component based models must be used in specific use cases as the component based models do not consider desktop system and server system hardware resource boundations.
To use component based models in the cases where computer hardware resource boundation exists and very small functionalities are ignored, component based model is combined with aspect-oriented programming. Aspect-oriented programming enables a programmer to work on functionalities that may not be encapsulated into modules.
Tailor-made software can also be developed using preprocessor technique. This technique is used to develop the Berkeley Database Management system. The Berkeley Database Management System targets specific functionalities that are not supported by in-use database management systems.
The Berkeley Database Management System is developed by C programming language developers and enjoys the benefits of the preprocessor directive of C language. Customizability of software is achieved using the preprocessor statement of C language. Preprocessor technique has its own drawback as removing unwanted programming instructions becomes a time consuming process and often generates errors.
In addition to the two techniques that are component based software development technique and preprocessor based software development technique there also exists a third technique known as feature-oriented programming technique.
Feature-based oriented technique has established mechnaism that may be used to develop customized software. In feature oriented programming techniques functionality of customized software is developed by developing modules for each functionlaity. In Feature-Oriented programming technique functionality required in customized software is represented as a feature.
These features are then used to develop tailor-made software. Feature oriented programming techniques enable developers to develop customized functionalities within a short period of time and decrease the high demand of resources as only the necessary and important functionalities are developed.
There exists many softwares and softwares are differentiated using features supported by the software. Features may be big or small but feature-based oriented techniques are used to categorize features into modules, this categorization is done on the basis of features supported by softwares of the same category. Thus features from different softwares are used to develop required tailor-made software.
Tailor-made database management system is often the requirement of an organization working in multiple disciplines. There exists many tailor-made database management systems that address specific objectives. Few examples of tailor-made database management systems include – PicoDBMS tailor made database management system and DELite_tailor-made database management system.
TinyDB is another tailor made database management system that is used for sensor networks. TinyDB works for nodes in a sensor network having limited resources. The nodes in the sensor network store data and this data is processed as required, processing on the stored data is done by TinySQL. TinySQL is a tailor-made query language to query specific nodes in the sensor networks.
All tailor-made software are developed for a particular and specific use case and projects the requirement for developing the tailor-made software. Software often lacks the power of inheritance and reusability due to which software developers have to redevelop the software. To overcome this shortcoming tailor-made software is developed based on the customization technique framework.
Tailor-made software are often required in the following domain:
- Secondary Industry (In the field of construction):
Advantages and disadvantage
Advantages of Tailor-made software:
- Results in efficient software.
- Delivers efficient and effective service.
- Provide flexible and effective solutions.
Disadvantage of Tailor-made software:
- High development cost and time is required.
- Error removal is a time consuming process.
- Maintenance cost is high.
Automating the organization process always remains in demand. Available software may not be able to fulfill the organization’s demand. To overcome this, tailor made software is made. Tailor-made software is according to the preferences and instructions of the organization.
Tailor-made software is developed for specific organization.