Abstract:Component-Based development method is thought to be an effective technique to tackle software crisis, but in practice it didn’t reach the expectation, and currently there lack of normal forms and normalized methods to support identification and design of components with high reusability. This paper tries to solve this problem with feature space as a tool. Theory of feature and feature space is firstly introduced, and by analysis of dependencies between features’ variability, the concept of feature dependency (FD) and four types of FDs are elaborated. Then a component specification model based on feature space is presented, in which component reusability is expressed by feature’s ‘type-value’ variation mechanism and feature dependencies. After that, goals of component design and several reusability metrics are briefly discussed, and four component normal forms and the corresponding normalization algorithms based on feature space decomposition are presented in detail. A practical case is finally shown to validate the methods. The normal forms and normalized design methods realize the multi-grained and multi-form components’ co-existence and the loosely composition-based coupling between components, which result in higher reusability, higher reuse efficiency, and lower reuse cost. The methods have been widely applied in the design and implementation of component-based Enterprise Resource Planning (ERP) systems, and have shown great theoretical and practical significance to component design.