首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

Personal tools

Software engineering

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.[1] It encompasses techniques and procedures, often regulated by a software development process, with the purpose of improving the reliability and maintainability of software systems.[2] The effort is necessitated by the potential complexity of those systems, which may contain millions of lines of code.[3]

The term software engineering was popularized by F.L. Bauer during the NATO Software Engineering Conference in 1968.[citation needed] The discipline of software engineering includes knowledge, tools, and methods for software requirements, software design, software construction, software testing, and software maintenance tasks.[4] Software engineering is related to the disciplines of computer science, computer engineering, management, mathematics, project management, quality management, software ergonomics, and systems engineering.[5]

As of 2004, the U. S. Bureau of Labor Statistics counts 760,840 software engineers holding jobs in the U.S.; for comparison, in the U.S. there are some 1.4 million practitioners employed in all other engineering disciplines combined.[6] Due to its relative newness as a field of study, formal education in software engineering is often taught as part of a computer science curriculum, and as a result most software engineers hold computer science degrees.[7]

Contents

Ambiguity and controversy

Typical formal definitions of software engineering are

Languages
AD Links