Software metaphors tell how to look for the problems not to find the solution.
Metaphor is used to make comparison between two things we can say that metaphor is comparison of two people. The metaphors are very scatter in programming. So we can define metaphors “A figure of speech containing an oblique comparison”.
How to use software metaphors ?
People use the metaphors to explain or to understand something better. Metaphors in software development are word wide, as in the computer world in general. Especially people who are in the business of software development, but are not experienced in actual software development, often use different metaphors to better grip what they are dealing with. Some metaphors work, but many are more defacing then helpful.
Use metaphors to give you insight into your programming processes and problems. Use metaphors to help you imagine better ways of doing things and to help you think about your programming activities. Over time, though, the person who uses metaphors to illustrate the development of software process will be understand as someone who has a better programming understanding and produces better code faster than people who do not use them.
Software metaphor is like a searchlight than a roadmap. It does not tell you where the answer find; it informs you how to look for it. As a heuristic metaphor serves more than as a algorithm. An algorithm is a set of clearly defined instructions for moving out a particular task.
Algorithm is formulaic, not subject to chance and deterministic. An algorithm informs you how to go from point A to point B with no deviation, no side trips to other points.
- Metaphors are not algorithms but heuristics. As such, they move to be a little haphazard.
- Metaphors help you understand the software-development process by connecting it to other activities you already know about.
- A few metaphors are better than others.
- Treating construction of software as similar to building construction recommends that careful preparation is need and illustrate the difference between small and large projects.
- Thinking of the development of software practices as tools in an analytical toolbox indicates further that each programmer has many tools and that no single tool is right for every job. Choosing the right tool for each problem is one key to being an effective programmer.