1.1 Software definition and features software is a collection of computer data and instructions organized in sequence. General software is divided into system software, application software and programming language. System software for the use of computer to provide the most basic functions, the most basic software is the operating system, application software is based on the system software derived from the user to provide different functions of the software system, such as financial system, educational management system, etc., programming language is the most basic design software development language, Java, C,c++,php and many other languages.
Computer software and hardware is also an important part of supporting computer operation, but the software and hardware have very big difference. The software is different from the hardware, the hardware is the concrete physical entity, and the software is only the logical existence, has the very strong abstraction, the software production does not have the obvious manufacture, the processing process, once the software research and development success, can be widely used, but the hardware has the obvious production process, the application scope has the unitary nature; Will not appear because of the use of a long time, machine aging problems such as the situation; Software development relies heavily on computer systems, if the computer system is temporarily unable to support, then it will affect the development of software and normal operation, software development of high complexity, long development cycle, the cost is large, and finally the software is involved in many social factors.
1.2 The emergence of software crisis in the middle of the century, the computer to a wide range of civilian industry. The problems of traditional software development, such as high complexity, long development period, large cost and poor maintainability, have led to the failure of traditional software to meet the market demand, thus leading to a "software crisis". The construction of software engineering is a complicated work, including the selection of design pattern, the setting of design standard, the choice of programming language and the selection of software development tools and so on.
Especially in the development of software industry is not perfect period, more need of structured program design method, the complex work from the structure to simplify, so as to get concise, clear procedures. Software engineering is a project that uses engineering methods to develop and maintain effective, practical and high-quality software. The concept of "software Engineering" was first presented at the Natio Conference in 1968, when it was initially clarified that the individualized behavior of traditional software development was transformed into a structured engineering collaboration.
In the software crisis, the formation of a new discipline-software engineering, in the development of computer science in full swing today, software engineering is a new subject, but it has a certain development in software engineering management and technical support.
2 Technology and management of software engineering
Since the end of the last century the software crisis has erupted, the structural engineering discipline has developed gradually.
Although the software development complexity is high, the development cycle is long, the cost is large, the maintainability is poor, these problems have not been solved at present, but from the technical level of software engineering and software engineering management level, there is a certain degree of improvement.
2.1 Technical Software engineering construction is a complex work, including the selection of design patterns, design standards, programming language selection and software development tools selection and so on. From the technical aspect mainly includes the software design method and the software development paradigm, chooses how the method completes the software design and the paradigm to develop the software which adapts the demand from the correct way.
In the technical focus on the use of software repeatability, in the development paradigm of mature industrial products for software research and development, which not only through the excellent results of others, but also avoid unnecessary waste of human resources, can better invest in new product development, improve the efficiency of software development, improve software quality. At present, the software reuse technology mainly includes software component technology, domain Engineering and software architecture.
Software component technology should be able to clearly identify the constituent components, wherein reusable components include requirements, documentation, test plans, test cases and data, and other useful information for development activities. As a core part of software reuse technology, it is necessary to extract useful components from existing systems, to understand the properties, characteristics and relationships among them, and how to classify and query existing components.
The use of software repeatability not only with the help of other people's excellent results, more avoidable unnecessary waste of human resources, but also better to invest in the development of new products, so software reuse technology in a range of areas easier to achieve role. This leads to the emergence of the field engineering of software engineering.
2.2 Software engineering management level software engineering is a complex project, so software engineering management is also very complex, it includes human management, organizational management and user management of the three dimensions. Computer software industry is a knowledge-intensive, talent-intensive industry, so in the whole research and development, production process, the person is an important part throughout, so the management of personnel is very important, human management is the most basic, but also to strengthen organizational management, organizations emphasize the organization's system coordination, not loose personnel organization, The establishment of a good organization needs to play the advantages of various personnel, and the advantages of integration, and promote the overall development; Finally, the most important thing is that the software, although different from the general product, but it as a special product, its object is still the user; it can be said that without user demand there is no software industry booming, Therefore, user management needs to focus on the user's needs at all times.
Therefore, perfecting software engineering management needs to establish and perfect the computer software engineering management system, to be standardized from the system, to make specific project implementation degree can depend on, improve the incentive measures, reward, reward and punishment degree, make the management work smoothly and efficiently; focus on team-building, strengthen teamwork, talent, people do their best, For the development of the team, but also specifically to develop specific project progress and risk management early warning mechanism, combined with specific realities, to supervise and manage; Finally, we should make full use of the advanced achievements of modern information technology, adopt the software engineering management platform to control the project cost and schedule, Make the software supply and demand both sides can win.
3 summarizing the rapid development of modern information technology, the environment that computer software faces begins to move from static closed to dynamic and diversified. Now the development of software engineering must strive to change their own to adapt to this form, to achieve their own technological breakthroughs in management innovation, so as to continuously improve the efficiency of software development, and greatly improve software quality. More about: http://www.lunwenstudy.com/jsjgc/33643.html
The development of technology and management of software engineering