加载中…
个人资料
前沿博客
前沿博客
  • 博客等级:
  • 博客积分:0
  • 博客访问:64,178
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

软件工程一-概况

(2009-03-30 14:49:00)
标签:

杂谈

软件工程一-概况

Monday, October 27th, 2008 星期一, 2008年10月27日

Softwareengineering is the application of a systematic, disciplined,quantifiable approach to the development, operation, and maintenance ofsoftware.软件工程是应用系统的,有纪律的,可量化的办法来发展,运行和维护软件。 Itencompasses techniques and procedures, often regulated by a softwaredevelopment process, with the purpose of improving the reliability andmaintainability of software systems.它包含的技术和程序,往往是受了一个软件开发过程,目的是提高可靠性和可维护性的软件系统。 The effort is necessitated by the potential complexity of those systems, which may contain millions of lines of code.这一努力是必要的,潜在的复杂的系统,其中可能包含数百万行代码。

Theterm software engineering was coined by FL Bauer and popularized by the1968 NATO Software Engineering Conference, which was organized by BrianRandell.软件工程的任期是由佛罗里达州鲍尔和推广由1968年北约软件工程会议,这次会议是由布莱恩兰德尔。 The discipline of software engineering includes knowledge, tools, and methods for:学科包括软件工程知识,工具和方法:

* software requirements, *软件的要求,
* software design, *软件设计,
* software construction, *软件建设,
* software testing, and *软件测试,并
* software maintenance tasks. *软件维护工作。

Software engineering is related to the disciplines of computer science, project management, and systems engineering.软件工程是有关学科的计算机科学,项目管理和系统工程。

In2004, the US Bureau of Labor Statistics counted 760,840 softwareengineers holding jobs in the US; in the same time period there weresome 1.4 million practitioners employed in the US in all otherengineering disciplines combined.在2004年,美国劳工统计局统计七十六点零八四万举行工作的软件工程师在美国;在同一时期有大约140万从业人员在美国雇用的所有其他工程学科的总和。 Dueto its relative newness as a field of study, formal education insoftware engineering is often taught as part of a computer sciencecurriculum, and as a result most software engineers hold computerscience degrees.由于其作为一个相对新颖的研究领域,正规教育在软件工程往往是教的一部分,计算机科学的课程,因此,大多数的软件工程师,持有计算机科学学位。 The term software engineer is used very liberally in the corporate world.这个词使用的软件工程师是非常宽松的企业世界。 Very few of the practicing software engineers actually hold Engineering degrees from accredited universities.极少数软件工程师执业工程实际持有认可大学学位。 Infact, according to the Association for Computing Machinery, “mostpeople who now function in the US as serious software engineers havedegrees in computer science, not in software engineering”.事实上,据美国计算机协会“ ,现在大多数人谁功能在美国是严重的软件工程师们在计算机科学学位,而不是在软件工程” 。 See also Debates within software engineering and Controversies over the term Engineer.又见辩论软件工程和争论长期工程师。

Software engineering has a long evolving history.软件工程有很长的演变历史。 Both the tools that are used and the applications that are written have evolved over time.双方所使用的工具和应用软件是书面随着时间而演变的。 It seems likely that software engineering will continue evolving for many decades to come.看来软件工程将继续演变为几十年来。

In the 1940s the first computer users wrote machine code by hand.在1940年第一台计算机的用户写道:机器代码的手。 Earlytools, such as macro assemblers and interpreters were created andwidely used in the 1950s to improve productivity and quality, and thefirst-generation optimizing compilers emerged.早期的工具,如宏观装配和口译,并建立了广泛的应用在20世纪50年代,以提高生产力和质量,和第一代的优化编译器出现。 Inthe 1960s the second generation tools like optimizing compilers andinspections were being used to improve productivity and quality.在20世纪60年代的第二代工具,如优化编译器和视察被用来提高生产率和质量。 The concept of software engineering was widely discussed.的概念,软件工程是广泛的讨论。 First large scale(1000 programmer) projects.第一次大规模的( 1000程序员)项目。 Commercial mainframes and custom software for big business.商业大型机和定制软件的大企业。 The influential 1968 NATO Conference on Software Engineering was held. 1968年北约的影响力的软件工程会议上举行。

Inthe 1970s collaborative software tools, such as Unix, coderepositories, make, and so on emerged, with the minicomputers and therise of small business software.在上世纪70年代的协作软件工具,如Unix系统,代码库,使等出现,与小型机的兴起和小企业的软件。 Since the 1980s the Personal computers and personal workstations became common. 20世纪80年代以来的个人电脑和个人工作站成为常见。 Commensurate rise of consumer software.相称崛起的消费类软件。 Smalltalk: the first commercial OOP language/platform that is UI based, Memory Managed, VM Image based, scripted/incremental. Smalltalk :第一商业见OOP语言/平台,用户界面的基础,内存管理, VM的图像,脚本/增量。 The 1990s brought Object-oriented programming and agile processes like Extreme programming gained mainstream acceptance. 20世纪90年代带来了面向对象编程和敏捷过程就像极限编程获得主流接受。 Computer memory capacity sky-rocketed and prices dropped drastically.计算机存储容量的天空,火箭和价格大幅度下降。 These new technologies allowed software to grow more complex.这些新技术使软件变得更加复杂。 The WWW and hand-held computers made software even more widely available. WWW和手持电脑软件更广泛地提供。 Sincethe 2000s Managed code emerged and interpreted platforms such as Java,.NET, Ruby, Python and PHP made writing software easier than everbefore.自2000年出现了托管代码和解释的平台,如Java , 。 NET中的Ruby , Python和PHP的编写软件更容易取得比以往任何时候。 Offshore outsourcing changed the nature and focus of software engineering careers.离岸外包改变的性质和重点软件工程的职业生涯。

About half of all practitioners today have computer science degrees.一半以上的从业人员今天计算机科学学位。 A small, but growing, number of practitioners have software engineering degrees.一个小型的,但越来越多,一些练习者软件工程学位。 In1987 Imperial College London introduced the first three year softwareengineering Bachelor’s degree in the UK and the world, in the followingyear the University of Sheffield established a similar programme.在1987年英国伦敦帝国学院推出了第一款三年软件工程学士学位,在英国和世界各地,在下一年度谢菲尔德大学设立了一个类似的方案。 In1996, Rochester Institute of Technology established the first softwareengineering Bachelor’s degree program in the United States, however, itdid not obtain ABET until 2003, the same time as Clarkson University,Milwaukee School of Engineering and Mississippi State University. 1996年,罗彻斯特理工大学建立了第一个软件工程学士学位课程在美国,但是,它没有取得工程技术认证委员会,直到2003年,同时,克拉克森大学,密尔沃基工程学院和密西西比州州立大学。

Since then, software engineering undergraduate degrees have been established at many universities.自那时以来,软件工程学士学位课程已建立了许多大学。 A standard international curriculum for undergraduate software engineering degrees was recently defined by the CCSE.国际课程标准的软件工程本科学位,最近确定的CCSE 。 Asof 2004, in the US, about 50 universities offer software engineeringdegrees, which teach both computer science and engineering principlesand practices.截至2004年,在美国,大约50所大学提供软件工程学位,其中教授计算机科学与工程系的原则和做法。 The first software engineering Master’s degree was established at Seattle University in 1979.第一个软件工程硕士学位设立了西雅图大学于1979年。 Since then graduate software engineering degrees have been made available from many more universities.自那时以来,软件工程学位研究生提供了许多更大学。 Likewisein Canada, the Canadian Engineering Accreditation Board (CEAB) of theCanadian Council of Professional Engineers has recognized severalsoftware engineering programs.同样,在加拿大,加拿大工程鉴定委员会( CEAB )加拿大专业工程师理事会已经认识到一些软件工程项目。

In 1998, the US Naval Postgraduate School (NPS) established the first doctorate program in Software Engineering in the world. 1998年,美国海军研究生院(源)建立了第一个博士计划在软件工程中的世界。 Additionally,many online advanced degrees in Software Engineering have appeared suchas the Master of Science in Software Engineering (MSE) degree offeredthrough the Computer Science and Engineering Department at CaliforniaState University, Fullerton.此外,许多高级学位在线软件工程中已经出现,如理学硕士软件工程(微小企业)提供的程度,通过计算机科学与工程系在加州州立大学富勒顿。 SteveMcConnell opines that because most universities teach computer sciencerather than software engineering, there is a shortage of true softwareengineers.史蒂夫麦康奈尔认为,因为大多数的大学教计算机科学,而不是软件工程,缺少真正的软件工程师。 ETSUniversity and UQAM were mandated by IEEE to develop the SoftWareEngineering BOdy of Knowledge SWEBOK, which has become an ISO standarddescribing the body of knowledge covered by a software engineer.美国教育考试服务中心是大学和分校授权的IEEE开发的软件工程知识体系SWEBOK ,这已经成为ISO标准描述的知识体系所涵盖的软件工程师。

Most software engineers work as employees or contractors.大多数的软件工程师工作的雇员或承包人。 Software engineers work with businesses, government agencies (civilian or military), and non-profit organizations.软件工程师的工作与企业,政府机关(民用或军用) ,和非营利组织。 Some software engineers work for themselves as freelancers.一些软件工程师的工作为自己的自由。 Some organizations have specialists to perform each of the tasks in the software development process.有些组织的专家来执行每一项任务在软件开发过程。 Other organizations required software engineers to do many or all of them.其他组织的软件工程师,需要做许多或所有的这些问题。 In large projects, people may specialize in only one role.在大型项目中,人们可能只在一个专业的作用。 In small projects, people may fill several or all roles at the same time.在小型项目,人们可以填写几个或所有角色在同一时间。 Specializationsinclude: in industry (analysts, architects, developers, testers,technical support, managers) and in academia (educators, researchers).专业包括:工业(分析师,建筑师,开发,测试,技术支持,管理人员)和在学术界(教育工作者,研究人员) 。

There is considerable debate over the future employment prospects for Software Engineers and other IT Professionals.有很大的争论,未来就业前景的软件工程师和其他IT专业人员。 Forexample, an online futures market called the Future of IT Jobs inAmerica attempts to answer whether there will be more IT jobs,including software engineers, in 2012 than there were in 2002.例如,一个在线的期货市场称为IT行业未来的工作在美国试图回答是否会有更多的IT工作,包括软件工程师,在2012年超过了2002年。

Manystudents in the developed world have avoided degrees related tosoftware engineering because of the fear of offshore outsourcing(importing software products or services from other countries) and ofbeing displaced by foreign visa workers.许多学生在发达世界避免度有关软件工程,因为害怕离岸外包(进口软件产品或服务从其他国家) ,以及流离失所的外国签证的工人。 Althoughgovernment statistics do not currently show a threat to softwareengineering itself; a related career, computer programming does appearto have been affected.虽然政府的统计数据目前尚未显示出威胁到软件工程本身;相关的职业生涯中,计算机编程似乎受到影响。 Often one is expected to start out as a computer programmer before being promoted to software engineer.往往是刚开始作为一个计算机程序员方可晋升软件工程师。 Thus, the career path to software engineering may be rough, especially during recessions.因此,职业发展道路,以软件工程可粗糙,尤其是在经济衰退。

Somecareer counselors suggest a student also focus on “people skills” andbusiness skills rather than purely technical skills because such “softskills” are allegedly more difficult to offshore.一些职业顾问建议,学生也侧重于“人的技能”和业务技能,而不是纯粹的技术技能,因为这些“软技能” ,据称更难境外。 Itis the quasi-management aspects of software engineering that appear tobe what has kept it from being impacted by globalization.这是准管理方面的软件工程似乎已经保持它被全球化所影响。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有