Research and Discussion on Talent Training System of Software Engineering Major

: In recent years, under the background of continuous renovation of information technology, software development and software maintenance have become a new type of hot employment field in China. Because most colleges and universities still set up courses according to the traditional syllabus, and the content taught can not keep up with the current development of software technology, although there are a large number of graduates in software engineering major going to the job market each year, there are not many graduates who are actually engaged in related fields of software services. So how to specializes in software engineering major and how to train students to become talents needed by software enterprises are common problems faced by colleges and universities. The paper takes the construction of software engineering professional as the background, mainly discusses the talent training mode of software engineering major from the aspects of talent training program, teaching method reform and curriculum setting, etc., constructs the software engineering professional talent training system structure, proposes “2+1+1” teaching reform model, has developed a quality practice education platform construction program and the construction of the faculty team with the goal of “double energy” talents, and finally summarizes the reform achievements of the school's software engineering major in the past three years. Used as a reform experience, it provides a construction idea for the talent training of software engineering majors in similar universities.


Introduction
In recent years, under the background of continuous renovation of information technology, software development and software maintenance have become a new type of hot employment field in China. The demand in society is very large, but currently, there are nearly 4,000,000 employees in related industries, and the demand for 800,000 people is still increasing every year [1]. Although the vigorous development of Chinese higher education has trained a large number of graduates in IT-related majors, most of these graduates lack practical experience and are not able to adapt to the work of enterprises, thus creating a contradiction between the technological lags in university training and advanced demand of enterprise technology. The reason for this is that most colleges and universities still set up courses according to the traditional syllabus, and the content taught can not keep up with the current development of software technology, leading to the fact that although there are a large number of graduates in software engineering major going to the job market each year, there are not many graduates who are actually engaged in related fields of software services, which is a major bottleneck in the training of talents in China's software service industry and has seriously hampered the development of China's software field. How to specializes in software engineering major and how to train students to become talents needed by software enterprises are common problems faced by colleges and universities [2]. The author's software engineering major is a provincial specialty. Some ideas for talent training program of software engineering major have been put forward in the Paper for reference by teachers of related majors in similar universities.

Establish a Talent Training Program That Meets the Specialty of Software Engineering Major
In accordance with the requirements of "the National Mid-term and Long-term Education Reform and Development Program Outline" and in combination with the needs of graduates of software engineering major in the provincial and domestic market, a talent training program featuring software engineering major has been formulated, and the practice and training bases inside and outside the school have been expanded. In accordance with the system analysis, program design, software testing, service management, and other aspects, the original teaching system and curriculum system have been reformed, the syllabus has been reformulated and the related courses by training software talents suitable for field requirements have been developed to highlight engineering and practical features and train "All-round Software Service Talents" [3].
Software engineering major is featured by its outstanding practicality and strong applicability. It formulates a "2+1+1" talent training program meaning that it takes 2 years to complete the basic theory education, and 1 year to complete the professional ability training in the campus training base and 1 year to complete internship in off-campus practice base.
A training program shall be developed to train talents such as "software development engineers, system analysis and programming engineers and system testing and software maintainer" as training objectives. The curriculum group of this major is divided into "Basic Education" and "Professional Basis", "Service Outsourcing", "Training in Campus Base" and "Off-campus Internship", etc. "Microsoft IT School. NET Module" and "SUN Online China JAVA Module" are respectively set up in the "Training in Campus Base" [4]. While emphasizing industry knowledge and capabilities, special attention should be paid to the training of industry literacy, such as industry certification and industry-standard training to achieve a zero-distance agreement with market demand. Its structure is shown in Figure 1. The talent training system of software engineering major is based on business practice-industry solutions and embedded product engineering, and encompasses four capability levels including base layer, working layer, advanced layer, and expert layer. Based on six competence latitudes including software foundation, software engineering, engineering practice, professional quality, business office and foreign language, a software service talent training system framework has been constructed [5].
Software engineering is a very practical major, which pays attention to the training of students' application ability, with training program covering three features including systematicness, engineering quality and practicability. It has designed a four-year full-cycle talent training program for undergraduate students. Considering the different application directions, it is also divided into two major directions, namely, software development and digital media technology development, which include two different types of application modules respectively. The software direction includes the software development and system testing in related fields, such as, JAVA, C++, embedded and. NET fields; the digital media direction includes the design of fields, such as, games, animations, multimedia, websites and BPOs [6]. In combination with the past curriculum training cases and real cases of enterprise engineering projects, a common CMMI project management model is adopted. According to the modularization and project-oriented labor division, students can experience the development process and evaluation criteria with international norms in a real enterprise atmosphere so as to expand their knowledge and vision, improve their ability to analyze problems independently, understand the working rhythms of an enterprise, develop good professional qualities and realize the change from the campus people to the enterprise people. The training system of software engineering major is shown in Figure 2.

Reform of Teaching Modes and Methods
The teaching method tries to adopt a spiral method which centers on training student's programming ability and uses theory and enterprise practice projects as means to enable students' ability to spiral upward with time. Taking C language course teaching for example, C language is a compulsory core course of software engineering major where students can begin to learn in the freshman year. In this stage, the theoretical minor spiral method, such as definitions, conditions, loops, processes and other chapters, is mainly used, which applies the contents of the previous chapter to the next chapter so as to combine with each other to continuously deepen students' understanding and memory when the next chapter is to be taught. When the course is over, it will integrate the entire course into a complete system. In the practical training phase, it uses the theoretical content to solve different problem cases and then to conduct spiral experiment by following the statement → module → integration module → module → reintegration → complete program. At the stage of engineering application research for juniors and seniors, an engineering case, such as the XXX management system, will be used to conduct practical major spiral over each knowledge point of this language. In this way, from theory teaching→ practical training→ engineering applications, it is a spiral study every time, which constantly rises. This teaching method has fully reflected the aspects of students' quality training, theoretical knowledge training, practical skills training, and engineering application training. The training of students' quality emphasizes students' professional ethics such as diligence, hardworking, school adoration and major adoration; the training of theoretical knowledge emphasizes classifying knowledge learned by students so as to form a systematic knowledge system; the training of practical skills emphasizes combining the physics and chemistry knowledge learned by students with practice and using practice to test theory and consolidate theoretical knowledge; the engineering application training emphasizes students' application of knowledge learned by them to the engineering application research field, so as to be integrated into the application development of enterprises. The spiral teaching method refines software engineering major into software engineering, quality education, software technology, application practice and other systems. This division highlights the characteristics of talent training in software engineering and is relatively reasonable and scientific. At the same time, this teaching system is no longer designed for a single curriculum, but is designed according to the curriculum group, practice demand, application demand and discipline demand, and the teaching plan can be changed at any time depending on different demands around the main line of talent training, thus ensuring the integrity of the course system and meeting the flexibility of the application demand.
In order to improve the practical ability of students in this major, summarize the following methods: (1) By introducing enterprise engineering personnel to participate in campus practice coaching and arranging students to work as interns in enterprises, students can fully experience the working methods of developers in software enterprises, including the memory ability, evaluation ability, optimization ability, recognition ability, and modification ability of the program code. The students' writing speed and writing amount can be enhanced by increasing the practice time, so that they can master the industry-specific terminology of software enterprises and adapt to the enterprise-oriented project management. Therefore, it is necessary to introduce the enterprise teaching mode to classroom [7].
(2) Introduce the programming modes of software enterprises to standardize students' programming habits According to the programming ideas of the software enterprises, it is necessary to train students' good programming habits in the aspects of software analysis, coding and design, and to develop relevant rules and regulations in aspects including statement format, code standard, programming cycle, and member cooperation, so as to make students learn the standard programming style in study and practice and integrate themselves in the industry's "Standardization" as fast as possible.
(3) Highlight the industry background of software outsourcing and enable students to participate in training and internship projects developed by enterprises so as to accumulate project experience. The software service outsourcing is the most direct method to test the students' application ability, because it has strict regulations on the software programming specifications, testing means, development cycle and software maintainability, which is completely different from the students' free practice at ordinary times. It allows students to accept the pressure brought by software service outsourcing early, so that the students can enter the "quasi work" state in advance, which has the training significance that can not be replaced by other practice modes for students' training of practical skills, strain analysis ability, and teamwork [8].
(4) Train students' dedication to work and develop good professional qualities Through the internship, train students' concept of "Professional Man" to achieve professional dedication; Encourage students to communicate with each other, help and learn from each other, and train teamwork awareness; Employ enterprise managers to give lectures so as to improve students' professional quality and help students plan their life rationally.

Construction of Assessment System for Practical Ability
According to the "2+1+1" teaching reform mode, the software engineering major has adjusted the 4-year university system to a 2-year basic theory study + professional theory, 1-year project trainingand 1-year off-campus internship, which has been recognized by experts and scholars as well as most peers in software industry. The "2+1+1" teaching reform mode integrates the three links including "practice, internship and training" into one so as to have formed a complete integrated practical teaching system that can be applied to students of various majors in information technology. Figure 3 is the practice training system for students majoring in software engineering. The system is no longer a simple professional training, but a comprehensive assessment of students from four aspects including behavioral norms, basic knowledge, work skills and work practices to train students' comprehensive ability, so that students can truly achieve taking the post as soon as being employed [9].

Construction of Open and Shared High-Quality Practical Education Platform
In order to improve the informatization construction level of the software engineering major and make it convenient for teachers and students to interact with each other, it is necessary to realize the procedural management of students' campus and off-campus internships. The school should not only establish its own campus training base, but should also combine with the off-campus enterprises to establish the off-campus training base. By using the soft and hardware resources provided by these bases, an open and shared high-quality practice education platform and a campus and off-campus integrated training platform for students shall be developed and built, on which the campus and off-campus interaction among students, teachers, schools and enterprises can be realized. At the same time, the platform can also be further expanded into a practical education platform for the information major of other colleges and universities in the local area [10]. At that time, it will collaborate with the base companies to publish IT service outsourcing training projects and internship information, and share this practical education platform with other colleges and universities in the region and in the province to achieve resource sharing and information coexistence.
The high quality practice education platform provides the students with systematic, engineering and practical full cycle ability training solutions. While consolidating the students' basic knowledge, it pays more attention to improving their practical ability. It provides the students with embedded software development, JAVA software development, NET software development and software testing. The real cases of large projects in the field of film and television animation design, game development, multimedia production, website design and development, BPO and other fields, apply the CMMI project management maturity model, and make the students realize the international standard software testing, development process, evaluation standard, and improvement in the process of training. In the future, the students face the professional ability of the project, at the same time, they feel the work rhythm in the company, cultivate the students' good professional habits, and realize the change from the campus people to the enterprise.
The platform construction is divided into the following four layers: (a) Base layer:it has conceptual practical knowledge and information of the capability, limited operational capability or operational capabilities with assistance.
The work experience is very limited. With the help of it, it can be applied in a variety of scenarios. Under routine conditions, it can work normally. (b) Working layer:lt has the knowledge and information with a bypass and the ability to operate independently, so it can successfully complete most tasks. It also has repeatable successful experiences and cases. (c) Advanced layer:it has thorough knowledge that can lead others to work effectively. In addition, it has an effective in-depth experience in leading others to work. (d) Expert layer:it has comprehensive knowledge and correct judgment capabilities to summarize useful improvements. Besides, it can give expert advice, lead others to operate successfully, be considered as a negotiator and leader by others, have a comprehensive broad experience of leading others to successfully operate, and have experience in consulting, improvement or innovation. The platform follows the training tenet of being professional, being close to the industry and serving enterprises. It is guided by social needs, with practical engineering as the background and engineering technology as the main line, focusing on improving students' engineering awareness, engineering quality and engineering practice ability. It trains senior engineering talents with strong foundation, high quality, practical ability and innovative spirit. Students study in the enterprise, accept the actual engineering training of the enterprise, and prepare for the future in the direction of technology and quality. During the training process, the student has to complete three conversions: (a) Conversion of learning content: conversion from focusing on theoretical content to combining theory with practice; (b) Conversion of learning methods: conversion from book knowledge to self-learning in practice; (c) Conversion of the role: conversion from school person to business person.

Construction of Teaching Staff Aiming at "Double-Ability" Talents
Because of the "2+1+1" teaching mode in software engineering major, what is relatively more important is how to train students' practical ability in the latter two years. Therefore, the teacher should have the "Double Ability" skill combining theory with engineering practice.
It is necessary to adjust the teacher structure, solve the problem of the teacher's bottleneck in the training of applied talents, perfect the double-ability teacher standard, formulate the double-ability teacher post standard according to the professional characteristics, and carry out the selection of double-ability excellent teachers and double-ability teachers.
In order to motivate most teachers to love their major, improve their professional standards, and actively participate in teaching and practice activities, it is necessary to formulate a series of incentive policies for talentsa. For example, provide teachers with a scientific research platform environment to help teachers and enterprises cooperate, which can on the one hand solve difficult problems for enterprises, and on the one hand help the enterprises and teachers apply for scientific research issues and horizontal topics, encourage teachers to take a temporary post in enterprises with payment, arrange vocational training for in-service teachers on a regular basis and reward teachers who contribute to major development, etca. Through a series of training and policy incentives, the teachers of this major will be trained to become a "double ability" faculty team that can participate in enterprise research and development, solve practical enterprise problems, and have rich practical experience, so that they can better devote themselves in teaching and practice environment.
The specific implementation measures are as follows: this major should formulate a three-year faculty construction plan and the assessment standard, and require each teacher to make three year plan and formulate standard that they can achieve according to his own director, and take this as a standard for teachers to promote their titles and positions. At the same time, it's necessary to allocate a certain amount of funds according to the plan and professional needs, arrange some teachers to participate in training, certification, and company appointments every year, and let the ability of practicing teachers in schools reach the level of enterprise developers. On the other hand, different levels of talent pool should be established for the personnel of the enterprise. Because the liquidity of talents is relatively large, the establishment of a reasonable talent pool is also to ensure an effective off-campus faculty.

Conclusion
After three years of reform practice in the school, the average graduate employment rate of software engineering students in this school has reached 92%, the number of students who have obtained various qualification certificates has reached 45%, the number of enterprises that cooperate with schools has reached 58, and the number of teachers with double-ability type has reached more than 50%. In addition, students have participated in various discipline competitions organized by the state, province and city, such as ACM, software design competition, software outsourcing program design competition and so on. The reform results are very significant.
At present, there are hundreds of colleges and universities that have a software engineering major in China. How to make the software engineering major unique and meet the talent demand is a problem that every college and university is concerned about. However, the most important point of quantitative index in assessing the success or failure of talent training is student employment and post-employment development. As far as the current industry demand is concerned, graduates of software engineering major are popular and the rise and fall of software engineering is also an important factor affecting the medium and long-term strategic development of China. How to train high-level practical software service talents so as to meet the demand of local economic development and talents in the software industry is an issue worthy of in-depth discussion. Only the author's experience in professional construction has been provided in the Paper for people's reference.