[Author’s Name]
[Institution’s Name]
Essay on Data, Information and Knowledge Management
Introduction
With the enhanced complexity of software in the pervasive computing age, the development of such software has become expensive, time consuming and error prone. There are growing demands that are placed on software and there is a continuous process of rediscovery and reinvention of core software design and implementation tools in the software industry. Hardware architectures tend to be increasingly heterogeneous, with a diversity of operating systems and network platforms. With such diversity and competition in the software industry, it is not possible to continuously build application software from scratch. To assist with these problems in software development, the concept of frameworks was developed. A framework is an extensible library of cooperating classes that make up a reusable design solution for a given problem domain. Frameworks may be used for application domains such as user interface, text, and documents, but also for traditional system domains such as graphics, multimedia, fonts, and printing; low-level services such as drivers and network protocols and development tools. Frameworks provide generic code at all levels of the system that programmers can reuse and customize easily.
The concept of framework has been taken from the conceptual frameworks that are to be found in nearly everything in life. Everything in real life works within frameworks. Knowing how to drive a car means that it is possible to drive any car with some adjustments, because these cars all have the same basic controls, even though the characteristics of these controls may be different. Business executives who know how to run one business can also learn how to run other businesses and individuals involved with sports can play the same game on many different fields. Hence, programmers who can program should be easily able to perform the task of programming if they have similar reusable components for various programming environments. Developers can use individual framework APIs to create smaller, more specialized programs that are fully integrated with the rest of the system and with other programs....