Professional Documents
Culture Documents
A Graduate Program On Embedded Software Engineering in China
A Graduate Program On Embedded Software Engineering in China
Kang Yimei
Software College of BeiHang University
37 Xueyuan Rd, Haidian District, Beijing, PRC, 100083
kangyimei@yahoo.com
Abstract
Software has become a key component of embedded systems as more and more complex
embedded systems have been developed. Currently most embedded system developers in
China are graduated from Electronics, Mechanics, Automatic control and other majors.
These developers are familiar with the application fields, but unfamiliar with systematic
development process, method and management of software project. Moreover, the embedded
software development is different from general software development. To provide more
qualified software developers for embedded systems, we have founded a graduate program in
embedded software engineering (ESE), which combines the embedded system development
and software engineering (SE), with emphasis in state-of-art embedded software development
methods and techniques. In this program, we teach students complex software analysis and
design, construction and test. To name a few, students enrolled in this program learn (1) how
to apply software architectures and software design patterns to embedded systems, (2) how to
manage a large and complex software project, (3) Co-develop hardware and software, etc.
This program includes a series of courses and a multilevel practice model. Some courses are
provided by industries. The practice model includes four levels. In the fourth practice level,
students will finish a complete project in industries under the project manager's instruction.
They not only learn techniques and put into practice on embedded software development, but
also experience the industry cultures. This 2-5 years graduate program is to train graduates
to be well qualified for embedded software development positions in software industry.
1. Introduction
Embedded system is ubiquitous. It has been employed in aeronautics, aviation, industry
control system, telecommunication, wireless equipment, network, medical instruments,
mobile electronics, etc. Even many peripheral devices of general computers, e.g., printers and
DVD drivers are embedded systems. With the development of techniques and requirements,
embedded software are more important than ever in implementation of functionality and
performance of embedded system.
Embedded software engineering (ESE) has been recognized as a new emerging discipline.
ESE is an engineering discipline that is concerned with all aspects (e.g. pointed in SWEBOK)
of software for embedded system in whole life-cycle of the embedded software system.
Recently, the demands in world market for embedded software development have increased
rapidly. Moreover, Chinese market grows faster than global average. In China, 30% of the
revenue in software industry comes from embedded software products. Six of the top ten
companies in Chinese software industry are dedicated in embedded software development,
and 35.3% revenue of the top 100 software companies in China is from embedded software
products. As Chinese market is becoming globalized, embedded software is developing more
rapidly in China. Meanwhile, the Chinese market of mobile phone and household digital
devices is also a potential huge market for embedded software development [1].
Figure 1. The main application fields and skills required for developers in ESE in china
Embedded system differs from other systems in the following aspects:
Integrated application of multidisciplinary approaches such as microelectronics,
computer hardware engineering, telecommunication, electronic engineering, and
software engineering etc.
Performance requirements more dominant than functional requirements:
near-optimal performance, rigid real-time, robustness, tough reliability and
security, distribution, concurrent, dynamism, mobility.
Resources constrained: limited CPU, memory, power, display window, push
button or key board, etc.
Communication Skills
Profession Makings Profession Ethic Teamwork ability
Embedded Database
Mobile Telecom Technology and Embedded Application
Embedded Software Development Based on J2ME
WinCE and Embedded Software Development
VxWorks and Embedded Software Development
Programmable Logic Device and Application
Industrial Networks and Fieldbus
DSP Embedded Software Development
Algorithms and Application in Embedded Systems
English
Mathematics
Technical Writing and Communication Skills
Profession Ethics and Career Planning
4.4. Evaluation
For required and elective courses, homework and projects count for 50-60% of final grade;
test counts for 40-50% of final grade.
For Practice II, a QA team (a teacher and five students) evaluates each group on process
quality (e.g. the meeting of planned schedule) which counts for 10% final grade, and software
quality (e.g. document and code style) which counts for 20% final grade; a committee
including three teachers evaluates presence and performance of the systems developed by
each group which counts for 70% final grade.
Students will get 5 credits if they pass the Degree Thesis examined by a committee with
five teachers.
5. Summary
To facilitate the tremendous demands for embedded software engineers in China, we have
developed a ESE Master of Engineering Degree program in china which integrates
interdisciplinary knowledge into embedded software development and combines theories and
practices together to systematically train students in designing and implementing embedded
software systems.
6. Reference
[1] CCID 2005-2006 Annual Report on Embedded Software Industry in China, Feb. 2006
[2] Bruria Haberman, Mark Trakhtenbrot, An Undergraduate Program in Embedded Systems Engineering,
Proceedings of the 18th Conference on Software Engineering Education & Training (CSEET’05)
[3] Liu Xiang, Exploring and Practice in Training Embedded Software Engineers, IT Education, May 2005,
P53-55
[4] Wei hongxing, Wang Tianmiao, Curriculum of Embedded System for Software Colleges, IEEE
and ASME MESA06, P240-244, 2006;