Most of the modern electronic devices are built with embedded system. Embedded
System is a special-purpose computer completely contained within the device it
controls and performs specific predefined services. The embedded software is
application-specific software residing in embedded system to perform predesigned
specific tasks repeatedly.
Embedded software development is one of the major parts of the whole development
processes and draws the majority of resource. With the competitive environment,
companies designing products with embedded systems always look for improvement of
productivity, quality, cost, and time to market.
Modular software design is a technique that discomposes a complex system into fine
grain modules with standard interfaces. One of the key benefits of modular design is
improving reusability. There are empirical studies showing software modular reuse
improves some development metrics, such as, productivity and quality for general-purpose
software. While embedded software shares the key characteristics of general-purpose
software development, there are also unique characteristics that differentiate
them. However, with the unique characteristics of embedded software, the direct study
to find the relationship between embedded software reuse and development
performance is rare.
Hence, the first objective of this project is to find out whether higher modular reuse
really benefits the performance metrics of embedded software development processes
in the area of quality, productivity, cost, and time-to-market. If it does, the second
objective is to develop a model that can improve modular reuse for embedded software development. Finally, the third objective is to validate the model through measuring
reuse rate and performance metrics before and after implementation.
With the objectives stated, literatures were reviewed in the following areas: software
modular design; existing embedded software modular design models; software modular
reuse versus development performance metrics; and success and inhibiting factors of
software reuse.
With the result of the literature review, a hypothetic model called Embedded Software
Reuse (ESR) model was developed. The model consists of two main parts. The first
part is the relationship between modular reuse and development performance. The
second part consists of the success factors for software reuse. The first part was
validated through empirical study and the whole model was further validated through
measurement results before and after the implementation of the model. Both empirical
study and model implementation were performed in a company focused on electronic
products with embedded system development.
The empirical study on the impact of modular reuse rate to development performances
supports higher modular reuse improves productivity, quality, and cost but not time-to-market.
The ESR model developed consists of five factors that shall improve reuse rate:
Architectural design, Top Management Commitment, Human Factors, Standardize
reuse procedures and Measurement and Control.
The ESR model was further validated through model implementation in the target
company. The implementation was first carried out through a pilot project. Further
study with interview of key stack holders of the pilot project helped to refine all five
factors before full implementation. Full implementation was started in a product line and five more projects were developed through ESR model. The reuse rate, productivity,
quality, and cost were compared before and after the implementation. The result shows
the average reuse rate has been increased from 31% to 71% with the implementation of
ESR model. With the improvement of reuse rate, productivity has been increased for
154%; defect density was reduced 72%; and cost was reduced for 65%. The comparison
verifies that the ESR model is effective for enhancing modular reuse rate and indeed
improving key development performance metrics in embedded software development.
There are three key contributions of the work of this project and thesis. The first one is
the proof of the direct relationship of reuse rate to productivity, quality and cost but not
time for embedded software development. The second contribution is the development,
implementation, and validation of ESR model to improve the embedded software
development performance through increasing the modular reuse rate. Finally, this
project directly contributed to the improvement of the embedded software development
performance of the target company.
One of the key characteristics of the ESR model is the flexibility and expandability of
building reusable assets. Building reusable assets will take more time than building
non-reusable code. However, for some embedded software projects that are not on the
critical path, more reusable assets can be developed during product development.
Therefore, as the further study of this thesis, with more data collected, a dynamic model
can be developed to help the industry to estimate the optimal amount of time allocation
on developing reusable and non-reusable modules for each project with the knowledge
of time of completion, estimated program size, and number of reusable assets.
| Date of Award | 15 Jul 2013 |
|---|
| Original language | English |
|---|
| Awarding Institution | - City University of Hong Kong
|
|---|
| Supervisor | Hongyi SUN (Supervisor) |
|---|
- Embedded computer systems
- Programming
- Computer software
- Reusability
- Development
Improving embedded software development performance through modular reuse
HA, W. L. (Author). 15 Jul 2013
Student thesis: Doctoral Thesis