A software framework is an abstraction in which common code providing generic functionality. It can be selectively overridden or specialized by user code. It is as libraries. They Frameworks provide reusable abstractions of code wrapped in API.
• i Provide environment to work with complex technologies.
• it ties together a bunch of discrete objects/components into something
more useful
• forces to implement code in a way that promotes consistent coding, fewer bugs, and more flexible applications
• easiy to test and debug the code, even code that they did not
write
• wrappers. A wrapper:
o Make technology easy with interface
o reduces/eliminates repetitive tasks
o increases application flexibility through abstraction
o re-usable codes
• architectures. An architecture:
o control a collection of objects
o implements a set of specific design elements
• methodologies: A methodology:
o consistent design approach
o decouples object dependencies
o re-usable regardless application requirements
Framework efforts broken down
• Management
oSets goals, oversight, decision framework
• Evaluation and design
• Assessment
Distinguishing features of framework from livrarties
· to improve the efficiency of creating new software
· Reusability of code
· improve developer productivity
· improve developer quality
· improve developer productivity
· improve developer reliability
· improve developer robustness
· Avoiding low-level details of working system
Some question to design framework
• What methodologies will use?
• How will assure that the software fits together?
• How will avoid the maintenance trap?
• How can achieve sufficient abstraction to have minimal code while having sufficient specificity to
· Reduces time
· Reduces energy
· Has standard working system
· Reusable codes
· It has big and complex abstraction
· Needs more time to assissing concept and functionality
· a generic ‘one-size-fits-all’ does not work efficiently
· Consists of frozen spots and hot spots as basic components
· Frozen spot is the overall architecture
· Hot spot is the section to add programmer code
· In OOP, it consists abstract and concrete class