We are planning to build a framework: a cost-estimation framework that will be used across the domains in our organization.
The high-level requirement is something like this : If I develop a certain product, how much will it costs me? This generated cost will be used to compare with the cost the vendors have quoted and to come-up with a decision as to which vendor to choose.
Now, my question is: What things to considered while developing a framework?
Few of my thoughts:
- Implement the high-level requirements through Abstract classes and Interfaces
- Provide utility classes that might be useful for Framework users.
- Consider what should be internal - kind of metadata - that shouldn't be shown to framework users.
- The design patters to use like template.
- the properties and the methods of the input classes.